ls について

移動方法について学習したので、ディレクトリの中身について少し考えてみましょう。

ただし、最初にログインディレクトリで検索できるものを確認し、それが済んでから先に進むことにします。

空のファイルを作成することから始めます。そのファイルを作成するには、シェルプロンプトで touch と呼ばれるユーティリティを使用します。試しに、次のように入力します。

touch foo.bar

ログインディレクトリには、空のファイル foo.bar が存在します。確認してみてください。

mkdir コマンドを使用して、新しいディレクトリを作成してみましょう。

プロンプトで次のように入力します。

mkdir tigger

これで、ログインディレクトリの中に tigger という名前のディレクトリが作成されました。ルートから新しいディレクトリへの絶対パス名は、/home/yourlogin/tigger のようになり、ユーザのログインディレクトリが tigger の親ディレクトリとなります。(ファイルおよびディレクトリの作成や削除についての詳細は、Chapter 16 で学習することができます)。

これで、先に進む準備ができました。

DOS の世界では、dir コマンドを使用するとディレクトリの内容が表示されます。

著しく異なる 2、3 の点を除き、Linux でも同じです。

Linux では、dir はディレクトリの内容をすべて表示せず、リストコマンド ls の持つパワーも柔軟性もありません。

たとえば、ログインディレクトリで次のように入力します。

dir

ここで、同じ Xterm ウィンドウで次のように入力します。

ls

同じように見えます (Figure 15-5を参照)。いろいろある内容の中で、新しいファイル foo.bar と新しいディレクトリ tigger が表示されます。

Figure 15-5. dirls との類似

ただし、類似点はここまでです。dir はディレクトリの内容を示しますが、実際は、そのすべてを表示していません。ls を使用しても、それだけではディレクトリのすべてのファイルを表示しません。すべてを表示するには、1 つあるいは 2 つのオプションを必要とします。

たとえば、dir コマンドと ls コマンドの入力に使用した同じウィンドウで、次のように入力します。

ls -a

まったく違っています。-a オプションを追加すると、ディレクトリに含まれるすべてのファイルをリストすることを指定したことになります (Figure 15-6を参照)。

実際、多数のオプションを ls コマンドと一緒に使用することができます。

ls man ページをお読みください: ls コマンドのすべてのオプションを見るには、シェルプロンプトで [man ls] と入力して man ページを読むことができます。man ページを印刷するには、プロンプトで [man ls | col -b | lpr] と入力します。

オプションが豊富な理由は?それは、ユーザのニーズに合わせて情報をソートできるようにしているためです。たとえば、表示するファイルを指定し、それらの権限その他を確認することができます。

Figure 15-6. -a オプションの付いた ls

[ls -a] を入力すると、ドットで始まるファイルがあることに気がつくと思います。これらのファイルは隠しファイルあるいは、そのままドットファイルと呼ばれます。

隠しファイルの大部分は、プログラム、ウィンドウマネージャ、シェルなどでプリファレンスを設定する設定ファイルです。これらのファイルを「非表示」にしている理由は、ユーザによる偶発的な変更を防ぐことです。それに加え、ディレクトリを検索する場合、これらの設定ファイルを検索する頻度は少ないため、非表示にしておくことで画面に不要なファイルが表示されないようにします。

ドット (.) で始まるファイル名は非表示ファイルで、ls ではリストされません。

すべてのファイルを表示することで多くの詳細を得ることができますが、複数のオプションを加えるだけで、より多くのものを取り出すことができます。

ファイルやディレクトリのサイズ、作成日などを確認するには、「long」オプション (-l) を ls -a コマンドに追加するだけです。

Try it.次のように入力します。

ls -al

内容がより詳細に表示されます。ファイルの作成日、そのサイズ、所有権、権限などが表示されます。

表示したい内容を含むディレクトリに切り替える必要もありません。

次のように入力して、/etc ディレクトリの内容を見てみましょう。

ls -al /etc

/etc ディレクトリの内容に関する多くの情報が表示されます。

一覧に色を付けたい場合、--color オプションを組み込みます。

ls -al --color /etc

--color を追加することは、単に、色の点を付け加える以上の意味があります。つまり、ディレクトリに含まれるファイルのタイプを識別できるということです。たとえば、ディレクトリをロイヤルブルー、プログラムファイルをグリーンなどに色分けすることができます。

好きな色で表示したい場合、一覧を常に色付きで表示できる方法があります。簡単に言えば、ログインディレクトリにある .bashrc ファイルに 1 行追加するだけです。

.bashrc ファイルは、ログインしたときにシェルにより使用されます (.bashrc ファイルの例は、Figure 15-7にあります)。

先へ進む前に...

Figure 15-7. .bashrc ファイル

設定ファイルを変更する際に誤まりを犯した場合は、そのファイルのバックアップを作成していなければ、取り返しのつかないことになる可能性があることに注意してください。

バックアップコピーを作成するには、ログインディレクトリにいることを確認してから、Xterm ウィンドウで次のように入力します。

cd

ログインディレクトリに戻ります。その後、.bashrc ファイルをコピーして同じディレクトリに保存しておきますが、ファイル名は .bashrc2 とします。

cp .bashrc .bashrc2

上記コマンドを入力すると、その内容は「.bashrc のコピーを作成して、コピーしたファイルの名前を .bashrc2 としなさい」と言う意味です。

これで、未修正の .bashrc ファイルのバックアップがログインディレクトリ内に作成されたことになります。間違いを犯したり、障害が発生した場合は、次のようにして .bashrc ファイルを置き換えることができます。

cp .bashrc2 .bashrc

とシェルプロンプトに入力します。

このコマンドは、「ファイル .bashrc2 のコピーを作成して、コピーしたファイルの名前を .bashrc としなさい」と言う意味で入力します。ここでのコピーコマンドは、元の .bashrc ファイルを上書きしますが、元の (そして未修正) ファイル.bashrc のコピーは、.bashrc2 と言う名前で保存されます。

さあ準備できたので、簡単なテキストエディタPico を使用して.bashrc を開いてみましょう。(テキストエディタは、ファイルを作成または修正することができるユーティリティプログラムです。)Xterm ウィンドウから次のように入力します。

pico .bashrc

以下のような内容が表示されるはずです。

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc 
fi 

かなり短いファイルです。ハッシュマーク(#)コメントです。このマークの後ろにあるテキストはシェルにより無視されます。つまり、ファイルを編集/修正するユーザの参考にするためのものです。

カーソルを行 #User specific aliases and functions の下に移動し、次のように入力します。

alias ls="ls -al --color"

そうすると、ファイルの全文が次のようになります。

# .bashrc

# User specific aliases and functions

alias ls="ls -al --color"

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc 
fi 

例として、Figure 15-8 を Pico で参照してください。

Figure 15-8. ls 用エイリアスを .bashrc に追加する

ダブルクリックしてテキストを編集あるいは修正できるようにします。その、変更に満足したら [Ctrl] キーと [X] キーを押して終了します。エディタ画面の最下部に、次のようなメッセージが表示されます。

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES)?

[Y] キーを押して「はい」を選択します。さらに、別のメッセージが最下部に表示されます。

File Name to write:.bashrc

単に [Enter] キーを押せば、変更は .bashrc ファイルに保存されます。

Xterm ウィンドウを閉め、新しい Xterm を開くまで、変更が有効になっているかどうかを確認することはできません。新しい Xterm ウィンドウを開くと、修正が有効になっています。

ls に付けることができる一般的なオプションについて、いくつか簡単に説明します。オプションについては、ls man ページ (man ls) を読めばそのすべてを知ることができます。

この章の後半、パイプI/O リダイレクトを紹介するときに、ディレクトリの内容を表示するほかの方法について説明します。

まとめ: ディレクトリの内容を見るには、シェルプロンプトで ls を入力します。ls -a と入力すると、ディレクトリのすべての内容が表示され、ls -a --color と入力すると、すべての内容が色別に表示されます。