修正時刻が新しい順にファイルを表示する方法|ls -tオプションと実務での使い方

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ディレクトリ・ファイル操作 > 修正時刻が新しい順にファイルを表示する方法|ls -tオプションと実務での使い方
「Linuxで最近更新したファイルだけを確認したい」
「修正時刻が新しい順にファイルを並べる方法がわからない」
Linuxの ls コマンドには、ファイルを修正時刻の新しい順(降順)に並べる -t オプションがあります。
ログファイルの確認や、最近編集したファイルを素早く見つけたい場面で日常的に使う基本テクニックです。

この記事では、ls -tオプションの使い方と、修正時刻でソートする実践的な方法を解説します。

【この記事でわかること】
・ls -tで修正時刻が新しい順にファイルを表示する方法
・-l・-h・-rなどのオプションとの組み合わせ方
・findコマンドで特定期間内に修正されたファイルを探す方法
・「修正時刻」「アクセス時刻」「変更時刻」の違い

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

ls -tで修正時刻が新しい順に表示する(基本)

ls -t を実行すると、ファイルが修正時刻(mtime = modification time)の新しい順に並んで表示されます。

$ ls -lt /var/log/ 合計 52428 -rw-rw-r-- 1 root root 40830438 1月 10 08:51 2013 custom_install.pdf -rw-rw-r-- 1 root root 66680395 1月 10 08:37 2013 custom_install.ps -rw-r--r-- 1 root root 16452096 1月 10 08:22 2013 custom_install.doc -rw-rw-r-- 1 root root 2971456 12月 27 07:02 2012 server_60.PNG -rw-rw-r-- 1 root root 885383 12月 27 06:56 2012 server_60.jpg -rw-rw-r-- 1 root root 153010 12月 27 06:55 2012 server_640x480.jpg -rw-rw-r-- 1 root root 2242568 12月 27 06:50 2012 server_90.jpg -rw-rw-r-- 1 root root 8353071 12月 26 05:47 2012 server.TIFF -rw-rw-r-- 1 root root 7661465 12月 26 05:47 2012 server.PNG -rw-rw-r-- 1 root root 14745654 12月 26 05:46 2012 server.BMP -rw-r--r-- 1 root root 2302349 12月 26 05:46 2012 server.jpg

最も新しく更新されたファイルが一番上に表示されます。ログファイルのローテーション確認や、直近の変更ファイルの特定に役立ちます。

ls -ltで修正時刻+詳細情報を表示する

-l(詳細表示)と -t を組み合わせると、パーミッション・オーナー・サイズ・更新日時の詳細情報が付きます。

$ ls -lt 合計 159480 -rw-rw-r-- 1 user user 40830438 1月 10 08:51 2013 custom_install.pdf -rw-rw-r-- 1 user user 66680395 1月 10 08:37 2013 custom_install.ps -rw-r--r-- 1 user user 16452096 1月 10 08:22 2013 custom_install.doc

応用・実務Tips

1. 逆順(古い順)で表示する

-r(reverse)を追加すると、最も古いファイルが上に来ます。

$ ls -ltr

-ltr は「最新のファイルをターミナルの末尾(プロンプトの直前)に表示する」ことになるため、スクロールせずに最新ファイルを確認したい場合に便利です。

2. 最新ファイルだけを素早く確認する(tail連携)

ディレクトリ内で最も新しいファイルだけを確認するには、ls -thead を組み合わせます。

# 最新ファイル1件のみ表示 $ ls -lt | head -2 # 最新ファイル5件を表示 $ ls -lt | head -6

head -2 で2行表示されますが、1行目がヘッダー(合計 xx)なので実質1件の表示になります。

3. findで特定期間内に変更されたファイルを検索する

find コマンドの -newer-mtime オプションを使うと、期間を指定したファイル検索ができます。

# 24時間以内に変更されたファイルを検索 $ find /var/log -type f -mtime -1 # 7日以内に変更されたファイルを検索 $ find /var/log -type f -mtime -7 # 基準ファイルより新しいファイルを検索(-newerオプション) $ find . -newer reference_file.txt -type f

-mtime -1:1日(24時間)以内に変更されたファイル
-mtime +30:30日以上前に変更されたファイル(削除候補の特定に使用)

「修正時刻」「アクセス時刻」「変更時刻」の違い

Linuxのファイルには3種類の時刻属性があります。

mtime(modification time):ファイルの内容が変更された時刻。ls -t が参照するのはこれ
atime(access time):ファイルが最後にアクセス(読み取り)された時刻
ctime(change time):ファイルのメタデータ(パーミッション・オーナー等)が変更された時刻

ls コマンドのオプションで切り替えられます。

# アクセス時刻順で表示(-u) $ ls -ltu # ctime(変更時刻)順で表示(-c) $ ls -ltc

本記事のまとめ

やりたいこと コマンド
修正時刻が新しい順に表示 ls -lt
修正時刻が古い順に表示 ls -ltr
最新ファイル1件を確認 ls -lt | head -2
24時間以内に変更されたファイルを検索 find /パス -type f -mtime -1
アクセス時刻順で表示 ls -ltu
メタデータ変更時刻順で表示 ls -ltc

Linuxのlsコマンドをはじめ、ファイル操作の基礎を体系的に学びませんか?

ls -tやfindのような日常的に使うコマンドの仕組みを知っておくと、現場でのトラブル対応スピードが大きく変わります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。