Lesson 1-1 データを見る

 これからMコマンドを練習する方へWARNING=警告=WARNING
自分がログインした時、"/home/ログイン名"というディレクトリの下で作業すること
これから行なう練習のデータはテキストに書いてある通りの場所に存在するが、何らかの都合で移動されている場合があるので、各自の環境に合わせてディレクトリ名を変更もしくは探してもらいたい。
 

1. ファイル一覧の表示(lsコマンド)

まず始めに練習用のデータが本当にここの場所にあるかをlsコマンドを使って確認してもらいたい。
 
bash$ ls /tmp/10428.txt.gz
"ls"はUnix系のコマンドであり、lsに続けて入力されたディレクトリの中に存在するファイルの一覧を画面に表示する。ディレクトリの指定を省略すればカレントディレクトリのファイル名の一覧が表示される。"ls"コマンドの重要なオプションの一つに"-l"(小文字のエル)がある。このオプションを指定して実行すれば各ファイルの詳しい情報を含めて画面上に表示される。
 
bash$ ls -l /tmp/10428.txt.gz 
 このように”dat.gz"という名前のファイルが出てきたらその場所にファイルは存在します。

2. ファイル内容の表示(lessもしくはmoreコマンド)

さてファイルの確認ができたところで、いよいよデータの中身を表示させてみよう。その為に"less /home/practice/Mine/example/ko4"と入力する。そうすると"ko4"というファイルの中身が画面上に表示される。
bash$ less /mnt/h01/Master/KO4MF/latest/Dat/dat
もし、表示されたファイルの内容を確認してコマンド入力モードに戻りたい時は”q”を押せばコマンド入力モードに戻る。
ここで"less"というコマンドはファイルの中身を表示したり検索したりするコマンドである。一般的にこのようなコマンドをページャーと呼ぶ。ページャーは表示機能が主で、エディタのようにファイルの内容を編集することはできない。その他のページャーとしてmoreコマンドがある。これは"less"コマンドほど多機能ではない。しかしながら、どのようなOSにおいても存在するという面で"less"コマンドより優れる。どちらのコマンドを用いるかはユーザの判断次第である。
なお、ファイルの中に文字が入っている場合は”more”でしか見る事ができません。

3.ファイルのコピー

ここで前に勉強しているはずのLinuxの”cp”というコマンドを使って"/tmp/10428.txt.gz"を"home/ログイン名"の自分のディレクトリにコピーすること。

4. 圧縮ファイルの表示

さて前節では、あえてdat.gzというファイル内容を表示させなかった。それは、このファイルが通常のテキストファイルではなく、テキストファイルを圧縮したファイルであるからだ。試しに10428,txt..gzを"less"や"more"コマンドで表示してみるとよい。そうすれば、画面上に変な文字が表示され、コンピュータが壊れたのではないかと勘違いするほどである。
圧縮を簡単に説明すれば、テキストファイルとして"aaaaaaaaaa"とaの文字が10個あるファイルを"a10"というようにすれば、3文字で表現可能である。このように圧縮ファイルには、何らかの圧縮技術を用いてデータが圧縮されて保存されている。圧縮の反対用語は解凍である。データの圧縮処理や解凍処理を担うコマンドは数多く存在する。このチュートリアルではgnuが提供するgzip(解凍はgunzip)を用いることにする。
通常、どの圧縮コマンドが用いられたかを判断するには、ファイル名の最後のピリオド以下の文字(拡張子と呼ぶ)を見て判断する。gzipでは、拡張子として".gz"が採用されている。
そこで、"dat.gz"を表示するために、"gunzip -c /home/ログイン名/10428.txt.gz"と入力する。すると、データが画面上を流れるように表示されるであろう(途中で止めたければCtrlキーを押しながらCを押せばよい)。
 
bash$ gunzip -c /home/ログイン名/10428.txt.gz
さて、この流れるような表示は、人間の目では捕らえることができないほど早いために役にたたない。そこでページャーでゆっくりと表示させたい。
そこで"gunzip -c /home/practice/example/(自分の学籍番号)/dat.gz | less"と入力する。今度はlessのページャーにて表示できたであろう。さて、最後に追加した"| less"について理解するためには、パイプとリダイレクトという概念を知る必要がある。
 
bash$ gunzip -c /home/ログイン名/10428.txt.gz | less

・演習問題

a) ディスク上には様々なファイルが存在する。どのようなファイルが存在するかを"ls"コマンドを駆使して調べること。