コマンドはシェルからOSの操作を行うための命令と例えることができ、コマンドをシェル上で実行することによってそのコマンドがLinuxに対して何らかのかたちで作用します。例えばファイルやディレクトリの一覧表示を行うための「ls」というコマンドがあります。lsコマンドを実行することによりOSが管理しているファイルやディレクトリの一覧を取得し、シェルを介して画面に出力します。この場合lsコマンドを実行してユーザがOSの機能を操作していることになります。このようにコマンドはOSに対する命令と考えることができ、コマンドを使うことによって様々な操作を行っていきます。これがWindowsなどのGUIの場合、ファイルやディレクトリの一覧表示はフォルダをクリックすればその中身がグラフィックとして自動的に表示されるのですが、CUIの場合は一覧表示を行うという命令を明示的に与えてやらなければ何も行なわれません。

このようにGUIの操作では当たり前であったものが、そうではなくなります。一見すると煩雑な作業に見えますが、使いこなしていくうちに強力なインターフェイスとなります。
では、実際にコマンドを実行する部分を考えて見ます。コマンドの入力はシェル上にプロンプトといわれているものが表示されている状態からおこないます。プロンプトはコマンドの入力の待ち受け状態をあらわし、コマンド実行後にプロンプトが表示されていない状態はコマンドが実行され続けていることになります。
[user@hi ~]$ ←プロンプト(入力待ち受け状態)
コマンドの基本的な実行はプロンプトからコマンド名を入力し、Enterキーを押すことで実行になります。コマンド入力には基本となるフォーマットがあり、そのフォーマットに従って入力をおこないます。基本フォーマットは以下のようになります。
コマンド名 [オプション...] [引数(パラメータ) ...]
※上記はあくまで基本です。コマンドによってはこのような形態にならないものも多く存在します。
上記の項目で特にオプションは重要です。コマンドは基本的に1つの機能しか持っていません(UNIXの思想的に)。この1つの機能に付加的な要素を加えるのがオプションの役割になります。オプションを指定することによってコマンドの動作に変化を与えたりすることもできます。Linuxで利用されるコマンドのオプションには大きく以下の3つ形式が存在します。
| 形式 | 内容 |
| Unix98形式 | 先頭にハイフン(-)をつけて、複数をまとめて指定する |
| BSD形式 | 先頭に何もつけずに複数をまとめて指定する |
| GNU形式 | 先頭にハイフン2つ(--)を付けて長い名前のオプションを指定 |
以上のオプションの指定はコマンドによってことなるため、コマンドで指定できる形式をわたす必要があります。LinuxではUNIX98形式かGNU形式のオプションをわたすコマンドが多いようです。
コマンドがある機能を実現するものならば、引数はそのコマンドを実行する対象ともいえます。引数の指定はする場合としない場合がありますが、どういった引数を指定するかはコマンドに依存します。例えば以上のフォーマットにしたがって、lsコマンドにオプションを指定する際には以下のようになります。
[user@hi ~]$ ls -l .bash_profile
以上はlsというコマンドにUnix98形式のオプション-lを指定し、引数に「.bash_profile」を与えています。これは.bash_profileというファイルの表示を詳細に行うことを意味します。
|