読者です 読者をやめる 読者になる 読者になる

Corredor

ウェブ、プログラミングの勉強メモ。

更新日時が一番新しい・古いファイルを確認する Linux コマンド

[改訂第3版]Linuxコマンドポケットリファレンス

[改訂第3版]Linuxコマンドポケットリファレンス

ls コマンドもパイプを組み合わせるだけで色んなことが調べられる…。

更新日時が一番新しいファイルを1件だけ表示する

tail を組み合わせる。

$ ls -ltr | tail -1

ls -l で詳細表示。ls -t で更新日時の昇順 (古いものから新しいもの) にソートする。ls -r でサブディレクトリも対象にする。

ls -t オプションによって、この結果の一番最後の行に一番新しいファイルが出力されるはずなので、パイプで tail コマンドを繋ぎ、末尾の1行だけを表示させる。tail -1tail -n 1 の省略形。

更新日時が一番古いファイルを1件だけ表示する

更新日時が古い場合はちょっとだけ厄介で、パイプが1つ増える。

$ ls -ltr | tail -n +2 | head -1

ls -ltr は同じ。次の tail -n +2 は、結果の2行目から末尾までを出力、としている。ls コマンドは、1行目に total 行、つまりディレクトリ内の使用量を出力するので、これをちぎっている。

こうして1行目をちぎると、純粋な ls の結果だけになるので、tail の逆で head -1 を使い、先頭1行目だけを表示している。