1. ホーム
  2. コース一覧
  3. LinuC Level1 v10.0 対策コース(パート1)
  4. Linuxコマンド [head/tail/more/less編]

中級

LinuC Level1 v10.0 対策コース(パート1)

LinuC Level1 v10.0 対策コース(パート1)27/39

Linuxコマンド [head/tail/more/less編]

こちらの記事ではheadtailmorelessといったテキストデータを扱う時に便利なコマンドを紹介していきます。

headコマンド

head コマンドは、ファイルやコマンドの出力の先頭から10行をデフォルトで出力します。

書式

head [オプション] [ファイル名]

オプション

オプション説明
-c出力する文字数をバイト単位で指定する
-nnに指定した行数を出力する

使用例

# test_fileというファイルを作成し、その中に以下のデータを入力します。
vi test_file
==============
111111
222222
333333
444444
555555
666666
777777
888888
999999
101010
111111
121212
==============
# test_fileの上から3行分を表示します。
head -3 test_file
111111
222222
333333

tailコマンド

tail コマンドは、ファイルやコマンドの出力の末尾からデフォルトで10行を出力します。

書式

tail [オプション] [ファイル名]

オプション

オプション説明
-c出力する文字数を指定する
-f追記があるまで待機する
-nnに指定した行数を出力する

使用例

# test_fileの末尾から10行を表示します。
tail test_file
333333
444444
555555
666666
777777
888888
999999
101010
111111
121212

moreコマンド

more コマンドは、長い出力結果を画面1ページ分ずつ表示するためのプログラム、つまり ページャ です。

more や後でご紹介する less など、表示内容を1ページずつに制御するプログラム全般をページャと呼びます。

書式

more [オプション] [ファイル名]

オプション

オプション説明
-d画面下にページのナビゲーションを表示する
-f画面下にデータの行数を表示する
-nnに表示する行数を指定する
-s連続する空行を1つにまとめる

使用例

# bunch.txtの内容を1ページ分ずつ表示します。
more bunch.txt
# 出力結果は膨大なので省略します。

lessコマンド

less コマンドも、長い出力結果を画面1ページ分ずつ表示するためのプログラム、つまり ページャ です。

lessmore とは異なり、最終行まで進んでも q キーを押さない限りシェルプロンプトに戻らないという特性があります。また、表示閲覧中にブックマーク(:set mark)を設定できる機能も提供します。

書式

less [オプション] [ファイル名]

オプション

オプション説明
-N行番号を表示する
-M現在表示しているページの位置情報を表示する

使用例

# bunch.txtの内容を1ページ分ずつ表示します。
less bunch.txt
# 出力結果は膨大なので省略します。

まとめ

今回はテキストファイルを扱う際に便利なコマンド(テキストストリーム)、 headtailmoreless について解説しました。他にも多くのテキストストリームに関する記事やシナリオがありますので、ぜひご覧ください。

記事の内容は理解できましたか?