プログラミング初心者必見!ターミナルを爆速操作して効率UP

スポンサーリンク

はじめに

クマくん
クマくん

・・・・(カチャカチャ)

あ〜〜〜またファイル名間違えた。

・・・・(カチャカチャ)

さめさん
さめさん

あれ?クマくんだ。

おーい。

クマくん
クマくん

・・・・(カチャカチャ)

あ〜〜〜、コマンドのスペルが違う!

キィ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 + r1つ前の検索結果へ移動
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を勉強するならこれがおすすめだよ。

おすすめ記事

【コーチングスキルを徹底解説③】フィードバックについて詳しく知ろう!
プログラミングメンターが勧める未経験からエンジニアになるための準備
未経験者から最強のRailsエンジニアになるためのロードマップ
Linux
スポンサーリンク
クマくんをフォローする
目指せ、スーパーエンジニア
タイトルとURLをコピーしました