「インストールしてみたけど,使い方が分からず途方に暮れた」「本を読んだけど,難しくて理解できなかった」「操作手順だけでなく,基本的な仕組みを知りたい」...。こうした意見にこたえるため,“Linuxの基本”を説明するコラムが復活しました。実際にLinuxを操作しながら,基本操作と仕組みに関する知識を身に付けましょう。

 前回もコマンドをシェルに入力し,実行した例を紹介してきましたが,実はこれらのコマンドは「内部コマンド*1」と「外部コマンド」に大別されます。内部コマンドは,シェル内部で直接実行するコマンドです。例えば「cd」がそうです。一方,外部コマンドは,実行可能ファイルとしてファイル・システムに格納されており,シェルがそのファイルを呼び出して実行するコマンドです。例えば「ls」がそうです。

 大まかには,内部コマンドはユーザーの利用環境を便利にするためのコマンド,外部コマンドはLinuxを利用するためのコマンドと考えればよいでしょう。

シェルの便利な利用法

 それでは,内部コマンドなどシェルの便利な機能のいくつかを紹介しましょう。

●エイリアス(別名)

図1 aliasコマンドの実行例
[画像のクリックで拡大表示]

 エイリアス(コマンド名は「alias」)とは,コマンド本来の名前とは別の名前を付けることです。どのようなエイリアスが設定されているかは,引数指定なしでaliasコマンドを実行して出力できます。例えば,図1[表示]のようになります。

 この例では,4つあるいは5つのエイリアスが設定されています*2。これまで利用してきたコマンド「ls」は,「ls --color=tty」にエイリアスされており,ファイル情報をカラーで出力するオプションが有効になっていることが分かります。そのため,シェルで「ls」と入力した場合でも,実際には「ls --color=tty」が実行されます。

 エイリアスを設定したいときにはどうすればよいのでしょうか。例えば,画面をクリアするコマンド「clear」にエイリアス名clsを設定したい場合には,

と入力します。このようにエイリアスを設定するときの書式は,

です。「元のコマンド名」で引数を指定する場合は,「(引数を含む)元のコマンド名」全体を「'」(シングル・クォートあるいは一重引用符と読みます)で囲みます。なお,ここで設定したエイリアスは,ログアウトすると無効になります。恒久的にエイリアスを設定したい場合には,後述するカスタマイズの項目を参照してください。

 逆に,エイリアスの設定を解除したい場合には,unaliasコマンドを利用します。例えば,エイリアスclsを無効にするには,

と入力します。

●ヒストリ(コマンド履歴)

 Linuxホストに限らずコンピュータを利用していると,少し前に入力したコマンドを再度入力したい場合や,コマンドを入力ミスしたので間違えた個所だけを修正して入力したい場合があります。特に長いコマンドを入力するときはなおさらです。このようなときに便利なのが,ヒストリ機能です。

 過去に入力したコマンドのヒストリ・リスト(履歴一覧)は,コマンドhistoryを入力すると出力されます。ただし,引数指定をしないとすべてのヒストリ・リストが出力されます*3。引数で数字(n)を指定すると,n回前までのコマンドが出力されます。

左端の数字はコマンドの入力順の番号で,ヒストリ・リストを参照する際の索引として利用できます。例えば,4番目に表示されたコマンド「ls -l」を再度実行したい場合には,


表1 ヒストリ機能で使う主なメタキャラクタ
[画像のクリックで拡大表示]

図2 スタックの概念
[画像のクリックで拡大表示]

図3 ディレクトリ・スタックの操作例
[画像のクリックで拡大表示]

と入力します。先頭の特殊文字「!*4」はメタキャラクタです。これ以外の参照方法も可能で,その基本的な書式を表1[表示]に示します。

 ヒストリ・リストを対話的に出力することもできます。カーソル移動キーの「↑」で一つ前のコマンドが出力され,「↓」で一つ先のコマンドが出力されます(Ctrlキーを押しながらpを押しても(以下,C-pと表記します),↑と同じ動作になります。C-nも↓と同じ動作です。

 ヒストリ・リスト*5で出力されたコマンドを対話的に編集することも可能です。出力されたコマンド上で,カーソル移動キーの「←」(C-bでも同じです),あるいは「→」(C-fでも同じです)で編集したい文字の上にカーソルを移動し,文字列(あるいは文字)の削除あるいは挿入を実行します。編集完了後,Enterキーを押すと編集後のコマンドが実行されます*6

●ディレクトリ・スタック

 以前に紹介したように,Linuxのファイル・システムは階層構造になっています。そのため,操作の過程で頻繁にカレント・ディレクトリを変更することがあります。ディレクトリの変更にはcdコマンドを利用しますが,変更後に直前のディレクトリに戻りたい場合もあります。もちろん,cdコマンドを利用できますが,戻りたいディレクトリのパス名を指定する必要があるのでちょっと面倒です。

 このようなときに,以前のカレント・ディレクトリをスタックに格納しておき,必要に応じて特定のディレクトリに変更できると便利です。この機能をディレクトリ・スタックと呼びます。

 取り入れと取り出し用の口が1つしかない箱をイメージしてください。これがスタックで,常に一番最後に入れたものからしか取り出せない入れ物です(図2[表示])。

 ディレクトリ・スタックを操作するコマンドは,dirs,pushd,popdの各コマンドです。dirs*7は現在のディレクトリ・スタックの内容を出力します。pushd*8コマンドは,カレント・ディレクトリをディレクトリ・スタックに取り入れ,引数で指定したパス名にカレント・ディレクトリを変更します。popd*9コマンドは,引数指定なしの場合,カレント・ディレクトリをディレクトリ・スタックの一番上のパス名に戻します*10

 図3[表示]に,簡単な操作例を示します。

「再入門 体で覚えるLinuxの基本」の目次ページはこちらから