3秒でわかる
文字で命令を打ち込んで操作する環境のこと。手順をそのまま記録して何度でも繰り返せるため、開発と運用の基本手段になっています。
もう少し詳しく
どういうものか
コマンドラインは、キーボードから命令を打ち込んで結果を文字で受け取る操作環境です。プロンプトが表示され、コマンド名と引数を打って実行します。macOSやLinuxではターミナル上のシェル、Windowsでは PowerShell が入口になります。画面上の絵をクリックする代わりに、命令の名前を覚えて打ち込む点が特徴です。
なぜ必要か
同じ作業を100個のファイルに適用する場面を考えると差が出ます。マウスなら100回のクリックが要りますが、コマンドなら1行で済み、その1行をファイルに保存すれば明日も来月も同じ結果を再現できます。サーバーには画面が無いことも多く、遠隔から操作する手段は事実上これだけです。手順を文章で他人に渡せる点も大きな利点です。
具体例
pwd # 今いる場所
ls -la # 隠しファイルまで一覧
<a href="/glossary/cd" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">cd</a> /var/log # 移動
grep -c "ERROR" app.log # ERROR の行数を数える
tail -f app.log # 追記をそのまま流し見る
# パイプでつないで加工する
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -5最後の1行は、アクセス元IPを数えて多い順に5件出す処理です。小さな道具をつないで目的の形にするのがこの世界の作法です。
つまずきやすいところ
現在地の把握でつまずく人が多く見られます。cd で移動した先が分からなくなったら pwd で確かめます。相対パスは今いる場所が基準なので、同じコマンドでも場所が違えば結果が変わります。もうひとつ、rm には確認もごみ箱もありません。実行した瞬間に消えます。特に rm -rf は、パスの打ち間違いがそのまま事故になります。消す前に ls で同じパスを見る習慣が効きます。引数の引用符も事故のもとで、空白を含むファイル名を裸で書くと2つの引数として解釈されます。変数を渡すときは二重引用符で囲むのが基本です。エラーが出たらまず全文を読みます。原因になったパスやオプション名が、そのまま書かれていることがほとんどです。
覚え方
画面を指さす代わりに名前を呼ぶ操作、と捉えると入りやすくなります。名前を呼べる相手はメモに書け、メモは繰り返し実行できます。
似た用語との違い
| 語 | 内容 |
|---|---|
| コマンドライン | 文字で命令する操作方式そのもの |
| シェル | 打った命令を解釈して実行するプログラム |
| ターミナル | シェルとやり取りする画面のアプリ |