C言語のプログラムやMAYAのデータファイルのようなテキストファイルの 表示にはそのためのコマンドを使う。
more と lessはファイルの中身を表示するためのコマンドである。 ファイルの内容をただ見るだけの時は、 viなどのエディタを使うよりもmoreやlessを使った方が良い。 間違って消したり、書き換えたりすることが無いからである。
覚えておくと良い基本的なコマンドは以下の通り。
小さなファイルの場合は、catコマンドで表示するという方法でも良い。
ただし、このコマンドはファイルの表示だけでなく色々な目的のために使用することがある。
例えば、2つ以上のファイルを1つのファイルにまとめる時などである。
以下の例ではfile1とfile2をfile3にまとめている。
(file3の中身はfile1とfile2が合体したものになって入る。)
#cat file1 file2 > file3
head と tailはファイルの最初と最期の部分だけを表示する単純なコマンドである。
これだけだと、あまり役にたたないが下の例題のように組み合わせると色々なことができるようになる。
シェルを使うと複数のコマンドを リダイレクション、 パイプ などと組み合わせることによって 一つ一つのコマンドではできないことができるようになる。
あるファイル(file)の11行目から20行目までだけを表示するにはどのようにすれば良いか。
headと
tailの2つのコマンドだけを知っている時、
この例題を解くためにどうすれば良いか考えてみる。
この2つのコマンドのどちらか一つでは目的を達成できない。
そこで、この2つのコマンドを組み合わせることによってできないかと考えてみる。
そのためには以下のように考えれば良いだろう。
上の考え方をリダイレクションを使って実行すると以下の様になるだろう。
# head -20 file > tmp # tail tmp
これでも良いが、tmpという余計なファイルができてしまうことと、
コマンドを2回にわけて打ち込むという手間がかかる。
そこで、あるコマンドの出力を別のコマンドの入力として渡すときには、
パイプを使うと2つのコマンドを一つにまとめることができる。
# head -20 file | tail