CLI
コマンドを文字で打ち込んで操作する方式。自動化と効率的な作業に強い
CLI とは
CLI (Command Line Interface、コマンドラインインターフェース) は、文字でコマンドを打ち込んでコンピュータを操作する方式だ。マウスで画面上のアイコンを操作する GUI (グラフィカルユーザーインターフェース) と対になる。一見すると古風だが、開発・サーバー運用・自動化の現場では、CLI の方が効率的で強力な場面が数多くある。
GUI との違い
| 観点 | GUI | CLI |
|---|---|---|
| 操作 | マウスで視覚的に | キーボードで文字入力 |
| 学習 | 直感的で易しい | 慣れが必要 |
| 自動化 | しにくい | 得意 (スクリプト化) |
| 一括処理 | 手間がかかる | 一括で高速に処理 |
GUI は分かりやすさで勝るが、CLI は「同じ操作を何度も」「大量のファイルを一括で」「手順を記録して再現」といった作業で圧倒的に強い。
コマンドの組み立て方
CLI で打ち込む一行は、多くの場合「コマンド名」「オプション」「引数」の 3 つでできている。ls -l /etc なら、ls がコマンド名、-l が動作を変えるオプション、/etc が対象を指す引数だ。オプションは慣例として 1 文字なら -l のようにハイフン 1 つ、単語なら --long のようにハイフン 2 つで書く。この形が多くのツールで共通しているため、初めて触るコマンドでも「まず --help を見る」という同じ入口が使える。
もう一つの要が、コマンドどうしをつなぐパイプ (|) だ。前のコマンドの出力を次のコマンドの入力へそのまま流し込む仕組みで、ls -1 /etc | wc -l と書けば、ファイル名を 1 行ずつ並べた出力をそのまま行数の集計へ渡せる。小さな道具を組み合わせて目的の処理を作れることが、GUI には真似しにくい CLI の強みになる。
自動化で決定的に効いてくるのが終了コードだ。コマンドは終了時に 0 から 255 の範囲の整数を返し、0 が成功、0 以外が失敗を意味する (Bash の仕様として明記されている)。直前の値は $? で参照でき、cmd1 && cmd2 は前者が成功したときだけ後者を実行し、cmd1 || cmd2 は失敗したときだけ後者を実行する。人間は画面のエラー文を読んで判断するが、スクリプトはこの数値だけで分岐する。CLI が自動化に強い本当の理由は、操作を文字で書けることに加えて、成否まで機械が読める形で返ってくることにある。
なぜ開発現場で好まれるか
CLI の操作はそのままコマンドとして記録・再利用できる。手順をスクリプトにまとめれば自動化でき、他の人やマシンでも同じ操作を正確に再現できる。サーバーは画面を持たないことも多く、遠隔から CLI で操作するのが一般的だ。「操作を文字で表現できる」ことが、自動化と再現性という大きな価値を生む。
習得の指針
CLI は最初こそコマンドを覚える手間があり、とっつきにくい。しかし、よく使うコマンドは限られており、少しずつ覚えれば日々の作業効率が大きく変わる。ファイル操作、Git、各種ツールの多くは CLI から扱え、習熟するほど作業が速くなる。一方、強力なコマンドは削除など破壊的な操作も一瞬で実行してしまうため、実行前の確認を怠らない慎重さも同時に身につけたい。GUI と CLI を、場面に応じて使い分けるのが賢い付き合い方になる。
学習には関連書籍が役立つ。
この記事は役に立ちましたか?
関連用語
関連する記事
Git / GitHub 本ガイド - マンガ / GUI / 仕組み理解の 3 つの入口で選ぶ
Git と GitHub を学ぶ本の選び方を「入口の違い」で整理。マンガで概念を掴む本、GUI から入る本、仕組みを腹落ちさせる本、チーム開発の作法を学ぶ本、手元に置くリファレンスまで、2026 年 8 月時点の定番書で独学ルートを解説します。
マンガで学ぶプログラミングはアリなのか
マンガ形式のプログラミング入門書は、ちゃんと学べるのか。マンガ本の強みと弱み、活用法を正直に解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。