catによる内容表示


●次に,ファイル・ディレクトリ操作を行うための基礎コマンドを学習していく。
 最初に学習するのは,ファイルの内容を表示するcatコマンドである。では,まず
 使用する教材を揃えることから始めよう。

  1. 前準備 ( .tar.gz形式の圧縮ファイル の展開方法)

    まずは,教材をダウンロードする。WEBブラウザ上で

     gaironunix2.tar.gz (先生方へ:あらかじめダウンロードしたWEBアーカイブを使用している場合でも左のリンクは有効です)

    をクリックする。すると次のような画面が出る。

    OKボタンを押す。すると,次のような保存場所を聞くウィンドウが開く。

    自分のホームディレクトリに保存しよう。保存が終了すると,次のようなウィンドウが出る。
    「閉じる」をクリックして,このウィンドウを閉じる。

    ダウンロードしたファイルを確認してみよう。ホームディレクトリへ移動し
    (ホームディレクトリをカレントディレクトリにする,ということ),lsコマンドを
    実行してみる。次図のようにgaironunix2.tar.gz というファイルがあればOK。

    上図のlsコマンドの結果からもわかるように,ホームディレクトリと gaironunix2.tar.gz
    ファイルの関係は,下図のようになっている(ホームディレクトリの中の他のファイルや
    ディレクトリは以降の話しでは関係ないので省略してある)。


    このgaironunix2.tar.gzのように,tar.gzという拡張子を持つファイルは,複数の
    ファイルをひとつのファイルにまとめた圧縮ファイルの一種である。実際,ここで
    例として使う gaironunix2.tar.gz は,下図のように6つのファイルを含むディレク
    トリ gaironunix2 をひとつのファイルにまとめて圧縮したものである。


    この .tar.gz 形式の圧縮ファイルから元のファイルへ展開する(「解凍する」などと言
    う)には,tarコマンドをzxvfオプションとともに以下のように使う(zxvfのキーはキー
    ボードの左下にまとまっているので憶えやすい)。

     % tar zxvf xxxxxx.tar.gz

    gaironunix2.tar.gz を展開すると,下図のように6つのファイルを含むgaironunix2
    ディレクトリが作成される。


    では,実際に gaironunix2.tar.gz を解凍してみよう。
     % tar zxvf gaironunix2.tar.gz
    というようにコマンドを実行する。

    すると,tarコマンドによって解凍が実行され,次のように表示される。

    解凍されたファイルがどのように展開されたか確認しよう。lsコマンドを実行してみると
    次のように表示され,新しいディレクトリ gaironunix2 が出来ていることが分かる。

    できたgaironunix2ディレクトリにcdコマンドで移動してみよう。

    gaironunix2ディレクトリに移動したら,lsコマンドでファイル一覧を表示してみる。
    下図のように,動物の名前の付いた3つのファイル (cat.txt, dog.txt, horse.txt)と,
    乗り物の名前の付いた3つのファイル (bicycle.txt, car.txt, motorbike.txt) の6つの
    ファイルがあることがわかる。

    lsコマンドに -al オプションをつけて詳細なファイル一覧を表示してみよう。
     % ls -al
    すると,以下のように表示される。

    上図のlsコマンドの結果から,ファイルの位置関係は,次図のようになっていること
    がわかる。

    (上図で,以降の話しに関係の無いファイルやディレクトリは省略してある。以下同様)

    以上で,catコマンドを学習する準備が終了した。


  2. catコマンドによるファイル内容の表示

    ファイルの内容を表示するには,catコマンドを使って,

     % cat ファイル名

    とする。

    では,まずbicycle.txtの内容を表示してみよう。~/gaironunix2 ディレクトリ
    内で
     % cat bisycle.txt
    とコマンドを実行すると,次のようにbicycle.txtの内容が表示される。

    同様に,car.txtの内容も表示してみよう。

    このように,素早くファイルの内容を確認できるのも,UNIXコマンドの利点である。


  3. catコマンドによる複数ファイルの内容表示

    さて,次は,
     % cat bicycle.txt car.txt
    というように,catコマンドに複数のファイルを指定して実行してみる。

    すると,次のように表示される。

    上図の結果は,catコマンドに複数のファイルを指定すると,指定した順番に
    ファイルの内容を「連結して」表示してくれることが分かる。

    同様に,動物の名前がついた3つのファイルを指定して,
     % cat cat.txt dog.txt horse.txt
    というように実行してみよう。

    このように,catは指定したファイルの内容を「連結して」表示してくれる。
    catコマンドの名前は,「連結」という意味のconcatenationから来ているのである。


  4. ワイルドカード*

    ところで, 下図のように,

     % cat *

    とファイル指定をするかわりに,アスタリスク記号* を指定するとどうなるだろうか。

    実際に実行すると次のような実行結果になる。

    実行結果を見ると,カレントディレクトリにあったすべてのファイルの連結結果
    が表示された。つまり,

     % cat bicycle.txt car.txt cat.txt dog.txt horse.txt motorbike.txt

    として実行したのと同様である。

    このように,アスタリスク記号*は,カレントディレクトリのすべてのファイルを
    いっぺんに指定するときに使用できる
    。もちろん,catコマンドだけでなく,どんな
    コマンドでも使用できる。これはたいへん便利な機能なので憶えておこう。

    さらに,次のように

     % cat c*

    として実行してみよう。

    すると,実行結果は,次のように,car.txt と cat.txt の内容が連結されて表示される。

    これはつまり,
     % cat c*
    とすると,cを頭文字とするファイル car.txtとcat.txtを指定して,
     % cat car.txt cat.txt
    とするのと同様の結果になると言うことである。

    実は,アスタリスク記号*は,ワイルドカード(UNOというカードゲーム
    にあるどのカードとしても使えるアレのことである)とも呼ばれ,*の部分
    はどんなファイル名の部分とも一致する。
    だから,

     c*

    はファイル名が,cから始まるファイルをすべて指定したことになるのである。

    では,今度はbから始まるファイル名を持つファイルを一度に指定してみよう。

     % cat b*

    とcatコマンドを実行してみる。すると,次のように,bicycle.txtの内容だけが
    表示される。これは,カレントディレクトリには,bで始まるファイルがbicycle.txt
    しかないためである。

    今度は,

     % cat *.txt

    というように,.txtという拡張子を持つファイルすべてを一度に指定してみる。

    すると,実行結果は次のようになり,見事に,カレントディレクトリにある
    拡張子に.txtを持つすべてのファイルが指定され,その内容がcatコマンドで
    連結されて表示される。

    次に,lsコマンドでワイルドカードを使ってみよう。

     % ls -al c*

    として,cで始まるファイル名を持つファイルを指定して一覧を見てみよう。

    すると,実行結果は次のようになる。car.txtとcat.txtの2つのファイルの
    情報だけが表示されることが分かる。
    つまり,gaironunix2 ディレクトリの中で
     % ls -l c*
    とコマンドを実行するのは,
     % ls -l car.txt cat.txt
    というコマンドを実行するのと同じなのである。

    ◆続いて,ディレクトリの作成やファイルのコピー,移動などを学習する。以下のリンクをクリックして次へ進め。

    次へ進む