CLI

コマンドを文字で打ち込んで操作する方式。自動化と効率的な作業に強い

開発ツールインターフェース
CLI」の技術書を見る →

CLI とは

CLI (Command Line Interface、コマンドラインインターフェース) は、文字でコマンドを打ち込んでコンピュータを操作する方式だ。マウスで画面上のアイコンを操作する GUI (グラフィカルユーザーインターフェース) と対になる。一見すると古風だが、開発・サーバー運用・自動化の現場では、CLI の方が効率的で強力な場面が数多くある。

GUI との違い

観点GUICLI
操作マウスで視覚的にキーボードで文字入力
学習直感的で易しい慣れが必要
自動化しにくい得意 (スクリプト化)
一括処理手間がかかる一括で高速に処理

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 を、場面に応じて使い分けるのが賢い付き合い方になる。

学習には関連書籍が役立つ。

この記事は役に立ちましたか?

関連用語

関連する記事