はじめに

・・・・(カチャカチャ)
あ〜〜〜またファイル名間違えた。
・・・・(カチャカチャ)




あれ?クマくんだ。
おーい。




・・・・(カチャカチャ)
あ〜〜〜、コマンドのスペルが違う!
キィxイィxツィぃx!!!!!




ちょっとちょっと!
どうしたんだい、クマくん!
とんでもなく荒れてるね。




もうやだ〜。
ターミナルやだ〜。
CUIやだ〜〜。
Linux嫌いだ〜。




Linuxの勉強をして頑張っているって言っていたじゃないか。
どうしたの?




Linuxの勉強のために対話型で色々コマンド試していたんだけど。。。




入力間違いたくさんしちゃって勉強が全然進まないんだ!!
ただでさえ入力する文字数が多くてイライラしているのに。。。どこが間違えているかを探すのも大変でイライラがMAXだよ!!




タブで補完しながらやっていれば入力間違いとかないはずなんだけどなぁ・・・




タブで補完?




Linuxを操作する上で必須になることを伝え忘れていたね。




初心者の人がこの技術を身につけたらCUIの操作が爆速になって作業効率が10倍UPは間違いないよ。




まじか!!!
早く教えて〜!!!
補完機能




一番重要なタブ補完から説明するね。
これは文字通りなんだけど、キーボードの左側にあるtabボタンを押すと、シェルが名前を補完してくれるんだ。




例えば、ホームディレクトリの配下にprojectsディレクトリがあって、その配下にsuper.rbというファイルがあるとしよう。




もし、projectsディレクトリに行きたければクマくんだったらどうする?




cd
cd projects
って打つよ!




一気に入力しても行けるんだけどね。
補完機能を使えば、とても早いんだ。
$ cd ~/p




ここでタブボタンを押すと、自動的に文字が補完されるよ。
そのあとEnterキーを押せば移動できるんだ。
$ cd ~/projects
補完候補が複数ある場合




おおお!
そうなんだ!
試しにやってみよ・・・(カチャカチャ)




あれ、なんか出ないな・・・




もしかして、クマくんホームディレクトリにprojectsディレクトリ以外のpから始まるディレクトリかファイルがあるんじゃないの?




多分あるんだよね。
参考書からダウンロードしてきた物をいれておくproblemsディレクトリがあって。




なるほどね!
その場合はシェルがprojectsディレクトリとproblemsディレクトリどちらを選べばいいかわからくなっているだけなんだよ。
cd ~/p
の状態でタブボタンを2回連続で押してみて




わかった・・・(カチャカチャ)
こんな感じで表示されたよ!
cd ~/p
problems projects




いいね!
シェルがpの文字からディレクトリやファイルを探してくれたんだ。
ここからprojectsを選びたければ、シェルが判断がつくようにprojまで打てば補完してくれるよ。




オッケー・・・(カチャカチャ)
できた!!
$ cd ~/proj(ここでタブボタン)
$ cd ~/projects




バッチリだね。
まとめてみよう!
- 対象のディレクトリ/ファイル名をタブボタンで補完してくれる。
- 補完候補が複数ある場合はタブボタンを2回押すと候補が表示される。
- 補完候補が複数ある場合は、シェルが補完候補を1つしか選べない状態まで打ち込んでタブボタンを押そう。




インクリメンタル検索




よし、次はインクリメンタル検索だよ。




インクリメンタル検索って何?




シンプルに言うと、
以前入力したコマンドをコマンド履歴を参照して、いちいち手で打ち直さなくても呼び出すことができる機能のことだよ!




Linuxを使っていると、以前使ったコマンドをもう一回呼び出して実行したいことがよくあると思う。
履歴を遡るのに一般的には↑または↓のカーソルボタンを使っている人が多いと思うんだけど、インクリメンタル検索だとずっと過去に遡って検索できるんだ。




全然知らなかったよ!
どうやるの?




ctrl + r
でインクリメンタル検索モードになれるよ!
(reverse-i-search)`':




この感じになったよ!




よし、じゃあここでcって文字を打ってみよう。
(reverse-i-search)`c': cd ~/projects




さっき打ったコマンドが出てきた!




入力した文字列から直近打ったコマンドから順に検索をかけているんだ。
もし、catコマンドなどで~/projects/super.rbの中身を見たことがあれば、こんな感じで表示されるんだよ。
(reverse-i-search)`ca': cat ~/projects/super.rb




めちゃくちゃ便利・・・。




でしょ!
慣れるとLinuxの操作が爆速になるかた使ってみてね!
インクリメンタル検索の操作を簡単に表にまとめるね。
コマンド | 内容 |
(文字の入力) | 検索語を追加して再検索 |
Ctrl + r | 1つ前の検索結果へ移動 |
Enterキー | 現在の検索結果をそのまま実行 |
Escキー | 現在の検索結果を表示したまま、コマンドラインに戻る。 |
Ctrl + g | 検索結果を破棄し、プロンプトに戻る。 |
キー操作




あとはカーソルの移動かな。
移動をマウスや←→のカーソルキーでしてもいいんだけど、一旦ホームポジションから手を離すと、次のコマンドを入力するのに時間がかかるから、キーボードで動かすと早くなるよ。




なるほどね〜。




これは前2つよりも優先順位低いけど、マスターしておくと良いかも。
コマンド | 内容 |
Ctrl + a | 行頭に移動 |
Ctrl + e | 行末に移動 |
Ctrl + f | カーソルを前に移動 |
Ctrl + b | カーソルを後ろに移動 |
Ctrl + h | カーソル後方の1文字を削除 |
Ctrl + d | カーソル位置の一文字を削除 |
Ctrl + w | 後方にスペース区切りで1単語分削除 |
Ctrl + k | カーソル位置から行末までを削除する |
Ctrl + u | カーソル位置から行頭までを削除する |
Ctrl + y | 最後に削除した内容を挿入する |




これは・・・覚えられるかなぁ・・・




こればっかりは意識して使っていくしかないね。
終わりに




サメさんありがとう!
すごいLinuxの操作が早くなった気がするよ!




よかった。
なんにせよ、操作の効率化UPは業務やの効率化UPに繋がるからね。
ぜひマスターしておこう!




おー!!




Linuxを勉強するならこれがおすすめだよ。