コマンドライン(CLI)操作初心者が効率的に作業するための5つのヒント

CLI操作に慣れていない初心者の方向けに、この記事では効率的に作業をするための基礎的な知識を5つ紹介します。

簡単な説明に留めているので、より詳しく知りたい方は、是非ご自分で調べて学習してみてください。各説明には参考リンクを載せています。


ファイルパスは特定の記号で省略して表現することができる(相対パス、環境変数)

ディレクトリの移動やファイルコピーなどで対象のファイルパスを指定するとき、必ずしも毎回フルパス(絶対パス)を入力する必要はなく、特定の記号で省略した表記で扱うことができ、入力を効率化することができます。

Windows相対パス
例: ..\Documents\file.txt (親ディレクトリのDocumentsフォルダ内のfile.txt)
Windows環境変数
例: %APPDATA%\MyApp\settings.ini (アプリケーションのデータフォルダ内のsettings.ini)

Linux相対パス
例: ../Documents/file.txt (親ディレクトリのDocumentsフォルダ内のfile.txt)
Linux環境変数
例: $PWD/MyApp/settings.ini (現在のディレクトリ内のMyAppフォルダ内のsettings.ini)

相対パスや環境変数を活用することによって記述を簡素で読みやすくすることができるメリットがあります。

手順書に従って作業する場合など、もし見慣れない記号が出てきたら、調べて意味を確かめ、自分がどこに何をしようとしているか理解してからコマンドを実行するようにしましょう。


ファイルパスの入力時、先頭数文字を入力してTABキーを押すと入力補完できる

ファイルパスの入力時、ディレクトリ名やファイル名の入力途中にTABキーを押すと、入力した内容に合致するものの候補で残りの部分を補完することができ、入力の効率化につながります。

もし先頭文字を入力しなかったり、合致する候補が複数ある場合の動作はOSによって異なります。

Windows
 TABキーを押す度に対象候補が切り替わる
Linux
 対象候補のリストが表示されるので、一意に絞れるところまで
 入力してからTABキーを押すと残りが補完される

TABキーで候補が出る=ディレクトリに存在するとも言えるので、逆に候補が出ない場合は入力しているパスが誤っている可能性があります。
ファイル存在確認ができることや補完による時短にもつながるので、積極的にTABキーを使う癖をつけましょう。


過去に実行したコマンド履歴を確認・実行することができる

同じコマンドを何度か実行する場合、毎回入力する必要はなく、実行済みのコマンドの履歴を流用することができます。
一部を変更して実行したい場合でも、履歴から元となるコマンドを選んでから修正を加えて実行することもできるので、全く同じコマンドでなくても、似たことをやりたい場合にも使うことができるので作業が効率よくなります。

WindowsとLinuxで共通する点

  • コマンド入力状態で↑↓キーを押し、再実行したいコマンドが表示されたらEnterキーで実行する

  • コマンドを編集してから実行する場合は、↑↓キーでコマンドを選んだ後、←→キーでカーソルを移動、コマンド内容を編集してEnterキーで実行する

Windowsのみ

  • コマンドプロンプトを開いた以降に実行したコマンドが記録される

  • F7キーを押すとコマンド履歴のポップアップが表示され、↑↓キーで選択してEnterキーで実行できる

Linuxのみ

  • 前回以前のログインで実行し記録されたものも利用できる(デフォルト500件)

  • historyコマンドで過去に実行した履歴をリストで見ることができる(デフォルト500件)

※パイプで組み合わせて、grep検索した結果を表示したり、headやtailで最新・最古のみを表示するなどができます。
(例:mvを含んだコマンド履歴のみを表示)history | grep mv

毎回全てのコマンドを手入力する必要はなく、履歴を流用することで作業効率が上がるので、積極的にコマンド履歴を活用しましょう。


実行中のコマンドを止めたい、入力中のコマンドをキャンセルしたい場合は、Ctrl+Cでキャンセルすることができる

コマンドを実行してみたが思ったより処理に時間がかかっていて、途中で処理を止めたい場合などにCtrl+Cを押下することで実行をキャンセルすることができます。

また、コマンド入力途中でも、そのコマンドは実行せずに次のプロンプトに移りたい場合にCtrl+Cを押下することで、入力中のものをキャンセルすることができます。
BackSpaceキーで入力したものを1文字ずつ削除していくより早い場合があるので、使い分けてみるとよいと思います。

直接的に作業効率を上げるテクニックではないですが、いざという時に必要な知識なので、Ctrl+Cコマンドはぜひ覚えておいてください。


プロンプトへの文字列貼り付け時は改行まで含まないように気を付ける、また右クリックにも注意

Webページや作業手順書に記載されているコマンドを、プロンプトにコピペして実行したい場合などに注意してほしいことがあります。

プロンプトに貼り付けた文字列に改行が含まれていると、改行をEnterと解釈して即座にコマンド実行されてしまいます。
また、右クリックにはコピーや貼り付けの役割があり、不用意な右クリックによって予期せぬ文字列貼り付け・コマンド実行につながることがあるため、キーボード操作だけでなくマウス操作も慎重に行なうようにしましょう。

もし誤って改行を含む文字列をコピペして実行されてしまっても、文法的な誤りがあれば単なる文法エラーになり実行されずに済みますが、コマンドとして実行可能なものであれば実行されてしまいます。
lsのような確認コマンドであればギリギリセーフですが、変更や移動・削除などのコマンドが実行されてしまうと様々なトラブルにつながることもあるので、急いでいる時ほど慎重に、落ち着いて確認しながら作業するようにしましょう。

[コピペしたい時の対策]
プロンプトの結果やブラウザ、Excel等の資料から文字列をコピーする場合、見えない改行等が含まれている可能性があるため、コピーしたものを一旦テキストエディタに貼り付け、改行の手前までを選択した状態でコピーしてからプロンプトに貼り付けるようにすると、改行による即時実行を避けることができます。


以上、5つの項目を意識すると効率的な作業につながると思いますので、ぜひたくさん練習してCLI操作に慣れていってください。