3.3 内容表示
Viewing File Contents
cat, less, head, tailはファイルの内容を表示するコマンドである。用途に応じて使い分ける。
コマンド比較
@startuml
!theme plain
skinparam backgroundColor #FEFEFE
start
:ファイル表示;
if (ファイルサイズは?) then (大きい)
:less\nページャーで閲覧;
else (小さい)
if (確認したい部分は?) then (先頭)
:head\n先頭N行;
elseif (末尾) then (末尾)
:tail\n末尾N行;
else (全体)
:cat\n全体表示;
endif
endif
stop
@enduml
図1: 表示コマンドの選択
| コマンド | 用途 | 特徴 |
|---|---|---|
| cat | 全体表示、結合 | 一気に出力 |
| less | ページャー閲覧 | スクロール、検索可能 |
| head | 先頭部分 | デフォルト10行 |
| tail | 末尾部分 | ログ監視に便利 |
cat
# ファイル表示
cat file.txt
# 複数ファイル結合
cat file1.txt file2.txt > combined.txt
# 行番号付き
cat -n file.txt
# 空行を圧縮
cat -s file.txt
less
# ページャーで表示
less file.txt
# 行番号付き
less -N file.txt
| キー | 操作 |
|---|---|
| Space / f | 1ページ進む |
| b | 1ページ戻る |
| /pattern | 前方検索 |
| ?pattern | 後方検索 |
| n / N | 次/前の検索結果 |
| g / G | 先頭/末尾へ |
| q | 終了 |
head / tail
# 先頭10行(デフォルト)
head file.txt
# 先頭20行
head -n 20 file.txt
head -20 file.txt
# 末尾10行
tail file.txt
# 末尾20行
tail -n 20 file.txt
# リアルタイム監視(-f: follow)
tail -f /var/log/syslog
# 最後の100行を監視
tail -n 100 -f logfile.log
ログ監視
tail -f はログファイルの監視に頻繁に使用される。Ctrl+Cで終了。
出典
[1] man cat - concatenate files and print.
[2] man less - opposite of more.
[3] man head / man tail.
[2] man less - opposite of more.
[3] man head / man tail.