Weitere ähnliche Inhalte
Ähnlich wie 今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4 (20)
Mehr von Fuminobu Takeyama (20)
Kürzlich hochgeladen (11)
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
- 4. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 4/54
正しいのはどれ?
●
1. サーバールームでモフモフできるカメレオン型ガジェット
●
2. Ruby で簡単に Web アプリを作れるフレームワーク
●
3. 昨年20周年だったドイツ生まれの
Linux ディストリビューション
- 5. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 5/54
正解
●
3. 昨年20周年だったドイツ生まれの
Linux ディストリビューション
– S.u.S.E Linux 4.2 で独自のディストリビューションになってから
●
Q: RedHat 系ですか? Debian 系ですか?
A: どちらでもありません!
●
Q: OpenSUSE ですか?openSUSE ですか?
A: o は小文字です。IPhone ではなく、iPhone なのと同じです
- 7. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 7/54
YaST でかんたん設定
SSH からもアクセスできる TUI 版→
●
ソフトウェアのインストール
ハードディスクとファイルシステムの設定
●
ネットワークの設定
●
Samba サーバーの設定
●
ユーザの追加…
詳しくは OSC Kansai/Kyoto 2015の資料を参照: http://www.slideshare.net/ftake/ok-yastlinux
- 10. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 10/54
openSUSE Tumbleweed
●
ローリング・リリース
– 週に3回程度新しいバージョンがリリース
●
常に最新バージョンのカーネルやアプリケーション、
ライブラリを使いたい人向け
– アプリケーション開発時に、新しいコンパイラやライブラリでも
動くかをいち早く確認できる
- 11. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 11/54
openSUSE Leap
●
SUSE Linux Enterprise ベースの安定志向
ディストリビューション
– 年に1回のマイナーアップデート(サービスパック)
– 3年に1度程度のメジャーアップデート
●
エンタープライズ版に openSUSE 独自のパッケージを追加
– デスクトップ環境:
Plasma 5, GNOME 3, XFCE, MATE, LXQt, etc.
– 合計: 約 9000 パッケージ
●
有償サポートが不要なサービス運用や、
常用のデスクトップ環境に最適
CentOS + Fedora
のような感じ
- 14. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 14/54
だって
●
bash, zsh, …
●
grep, find, diff, patch, sed, ...
●
Python, Ruby, ...
●
Git, Subversion, …
今では必須のコマンドラインツールたち!
- 15. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 15/54
Windows あるある
●
MinGW (GCC) + MSYS をインストールして
●
Python をインストールして
●
Ruby をインストールして
●
Git for Windows (+ Git Bash) をインストールして
●
Tortoise SVN をインストールして
●
やっぱり Cygwin もインストールして
●
MSYS2 もインストールして
●
Haskell Stack もインストールして
●
Vagrant もインストールして
…
Bash
Bash
Bash
Bash
Bash
Bash
- 21. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 21/54
コマンドラインツールテクニック
●
もっと効率よく作業できるのに
– コマンドラインツールを使いこなせていない人を見ていて
●
新しいツール・変わってしまったツール
●
もっと良い方法がある!という場合は教えてください
– 資料の作成過程でいろいろと教えてもらいました
40分のセミナーで収めるには…
- 22. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 22/54
今日のコマンドラインツールテクニック
1. よいターミナルアプリケーションを使う
2. 圧縮された tar を展開する
3. カーソルの移動はショートカットを
4. 入力補完と履歴を使う
5. 関連付けられたアプリケーションで開く
6. 色付きコマンド
7. Human readable!
8. ホームディレクトリに戻る
9. 前にいたディレクトリに戻る
10.{,} でファイル名の繰り返し入力を防ぐ
11.tree 系コマンド
12.環境変数を指定して実行
- 24. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 24/54
1. よいターミナルアプリケーションを使う
●
コマンドを入力するアプリケーション
– Konsole, GNOME Terminal, ...
●
ショートカットによるコピー&ペースト
– Ctrl+Shift+C
– Ctrl+Shift+V
●
画面のタブ分割
Windows の人は mintty や、
よい SSH クライアントを使ってください
ウェブページのサンプルも
簡単コピペ!
- 26. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 26/54
2. 圧縮された tar を展開する
$ tar xvf hoge.tar.xz
$ tar xvf fuga.tar.gz
●
昔は圧縮アルゴリズムを指定する z や j が必要だった
– では xz のときは?
●
今の GNU tar は、圧縮アルゴリズムの指定不要!
– x: extract
– v: verbose (展開中にメッセージがたくさん出る)
– f: この後ろにファイル名
イマドキ xz!
と言っても10年くらい前から
- 28. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 28/54
3. カーソルの移動と削除はショートカットを
●
カーソル移動系: ホームポジションから指が動かない!
– Ctrl + P ↑ previous
– Ctrl + N ↓ next
– Ctrl + F → forward
– Ctrl + B ← backward
– Ctrl + A Home (行の先頭へ移動)
– Ctrl + E End (行の最後へ移動)
●
削除系
– Ctrl + H Backspace
– Ctrl + D Delete
– Ctrl + K カーソルから右側を切り取り
– Ctrl + U カーソルから左側を切り取り
※設定で Caps Lock キーを
Ctrl にすると使いやすい
パスワードを打ち間違えた
ときに便利
- 30. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 30/54
4. 入力補完と履歴を使う 1/3
●
入力補完
– ファイル名やコマンド名を途中まで入力して Tab キーで
続き補完してくれる
$ lv pen
$ lv pen-pineapple-apple-pen.txt
Tab キー
日本語のテキストファイルを見るコマンド
- 31. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 31/54
4. 入力補完と履歴を使う 2/3
●
直近のコマンドを繰り返し入力
– 1つ前のコマンドなら ↑ か Ctrl + P
– 2つ前のコマンドならもう1回 ↑か Ctrl + P
●
コマンドの一部修正はカーソル移動ショートカットと合わせ技
$ chmod 700 directory1 testd2 folder3
$
$ chmod 700 directory1 testd2 folder3
$ chmod 700 directory1 testd2 folder3
$ chmod -R 700 directory1 testd2 folder3
-R 忘れた
Ctrl + P
Ctrl + A
- 32. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 32/54
4. 入力補完と履歴を使う 3/3
●
履歴から検索
– Ctrl + R を押すと検索をする欄が出てくる
– 過去に打ったコマンドの一部を入力
●
さらに Ctrl + R でマッチするものでさらに1つ古いものを表示
– Ctrl + S で行き過ぎたときに戻る
●
事前に stty コマンドでXON を無効にする必要あり
$ bundle exec rake db:seed
bck-i-search: seed_
$
bck-i-search: _
$ stty -ixon
- 34. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 34/54
5. 関連付けられたアプリケーションで開く
●
カレントディレクトリをファイルブラウザで開きたい
– 選択してファイルを動かしたいとき…など
●
関連付けられたアプリケーション
でファイルを開く
$ xdg-open .
$ xdg-open geeko.jpg
フォルダ名
- 36. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 36/54
6. 色付きコマンドの活用 1/3
●
$ ls --color
– フォルダ名やシンボリックリンクに色がつき、区別しやすい
– -F オプションもおすすめ
●
ディレクトリ名の後に /
●
シンボリックリンク名の後に @
$ ls -f --color /etc
ConsoleKit/ gssapi_mech.conf pki/
DIR_COLORS gtk-2.0/ plymouth/
HOSTNAME@ gtk-3.0/ polkit-1/
HOSTNAME.rpmsave host.conf polkit-default-privs.local
…
- 37. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 37/54
6. 色付きコマンドの活用 2/3
●
$ grep --color
– マッチした部分に色がつく
$ grep --color intel /var/log/Xorg.0.log
[ 48102.004] (II) LoadModule: "intel"
[ 48102.004] (II) Loading
/usr/lib64/xorg/modules/drivers/intel_drv.so
[ 48102.014] (II) Module intel: vendor="X.Org Foundation"
- 38. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 38/54
6. 色付きコマンドの活用 3/3
●
$ colordiff
– 削除された部分が「赤」、追加された部分が「青」になる
– -u: + 記号と – 記号で追加と削除を表現する universal フォーマット
--- scribus-1.4.4.mod/scribus/pageitem_textframe.cpp 2014-12-06 02:13:59.599941139 +0900
+++ scribus-1.4.4.mod/scribus/pageitem_textframe.cpp.mod 2014-12-08 22:56:23.540099486 +0900
@@ -846,7 +847,7 @@
}
static int checkCJKBreakAfter(QChar ch) {
- unsigned int code[] = {0x201C, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62, 0xFF0D, 0};
+ unsigned int code[] = {0x201C, 0x300C, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62, 0xFF0D, 0};
for (int i = 0; code[i]; ++i)
if (code[i] == ch.unicode())
Return 0;
$ colordiff -u 変更前のファイル 変更後のファイル
- 40. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 40/54
7. Human readable
●
ちょうどよい単位 (KB, MB, ...) で容量を表示してくれる
human readable (-h) オプションを持つコマンドがある
– ls, df, du など
$ ls -lh
合計 602M
-rw-r--r-- 1 geeko users 602M 10月 26 23:54 jumanpp-1.01.tar.xz
-rw-r--r-- 1 geeko users 2.1K 10月 24 23:09 vlc.ymp
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
… 中略 …
tmpfs 933M 0 933M 0% /sys/fs/cgroup
/dev/sda2 61G 8.4G 52G 15% /
- 41. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 41/54
おまけ
●
毎回 -F とか -h とか --color とかめんどくさい
●
ls と打ったときに ls -Fh --color と入力したことにする
– .bashrc に次の内容を記述
alias ls='ls -Fh --color'
- 45. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 45/54
9. 直前にいたディレクトリに戻る
$ cd -
~/Documents/Projects/myapp$ pwd
/home/geeko/Documents/Projects/myapp/
~/Documents/Projects/myapp$ cd
~/$ cd -
~/Documents/Projects/myapp$
間違えてホームに戻ってしまった
でも大丈夫
- 47. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 47/54
10. {,}でファイル名の繰り返し入力を防ぐ
●
ファイル名の最後に「.back」をつけてリネーム、コピーしたい
●
「XXX{左側,右側}YYY」は「XXX左側YYY XXX右側YYY」に
置換される
$ cp pen-pineapple-apple-pen.txt pen-pineapple-apple-pen.txt.back
$ cp pen-pineapple-apple-pen.txt{,.back}
$ cp pen-pineapple-apple-pen.txt pen-pineapple-apple-pen.txt.back
Before
After
$ cp pen-pineapple-apple-pen{,-back}.txt
$ cp pen-pineapple-apple-pen.txt{.back,}
拡張子の前
.backから戻す
- 49. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 49/54
●
ディレクトリ構造: tree
11. tree 系コマンドの活用
●
プロセスの親子関係: pstree
$ tree /etc/X11
/etc/X11
├── Xmodmap
├── Xmodmap.remote
├── Xresources
├── xdm
│ ├── GiveDevices
│ ├── Keyboard.map
│ ├── README.SUSE
│ ├── README.security
│ ├── RunChooser
│ ├── SUSEconfig.xdm
$ pstree
systemd─┬─ModemManager─┬─{gdbus}
│ └─{gmain}
├─NetworkManager─┬─dhclient
│ ├─{gdbus}
│ └─{gmain}
├─agetty
├─at-spi-bus-laun─┬─dbus-daemon
│ ├─{dconf worker}
│ ├─{gdbus}
│ └─{gmain}
├─at-spi2-registr─┬─{gdbus}
│ └─{gmain}
├─auditd───{auditd}
├─avahi-daemon
├─bluetoothd
├─cron
├─cupsd
ps axf でも同じようなことが可能
- 51. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 51/54
12. 環境変数を設定して実行する
●
どんなときでも ~/.bashrc などに書きがち
– 解説記事などにそう書いてあるから
– 今後、ずっと設定したままにするなら OK
●
一時的に環境変数を設定して実行することも可能
– 変数名=値 コマンド 引数
$ HTTP_PROXY=http://proxy.example.com:8080 wget http://…/….tar.xz
$ LC_MESSAGES=C gcc xxx.c
- 52. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 52/54
次回予告
●
PATH ってなんでしたっけ?
●
大量の画像をまとめて変換
●
パイプとリダイレクト
●
出力を切り取る
●
chmod +
●
fb, bg, Ctrl + Z
●
SSH のデフォルトオプション
●
コマンド置換
- 53. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 53/54
openSUSE.Asia Summit 2017 Tokyo
●
openSUSE や Linux など周辺の OSS に関する国際イベント
●
今年は初日本開催!
– 北京→台北→ジョグジャカルタ(インドネシア)
●
日時: 10月21日(土)、22日(日)
●
会場: 電気通信大学(東京都調布市)
●
参加費: 無料
技術書展もやっています
週末はぜひ東京へ
- 54. 2017/9/2, 3Linux コマンドラインツールテクニック その1 rev. 4 54/54
聞けそうなトピック ※イメージです
openSUSE Leap 15 Docker Single Sign
パフォーマンス分析 ファイルシステム暗号化
Ansible コミュニティ運営 Excel 方眼紙
リモートデスクトップ DevOps AppImage
LibreOffice 日本語入力 .NET Core
OpenStack Solr 翻訳 Active Directory
1つくらい興味があるトピックがありますよね?