「修正時刻が新しい順にファイルを並べる方法がわからない」
Linuxの
ls コマンドには、ファイルを修正時刻の新しい順(降順)に並べる -t オプションがあります。ログファイルの確認や、最近編集したファイルを素早く見つけたい場面で日常的に使う基本テクニックです。
この記事では、ls -tオプションの使い方と、修正時刻でソートする実践的な方法を解説します。
・ls -tで修正時刻が新しい順にファイルを表示する方法
・-l・-h・-rなどのオプションとの組み合わせ方
・findコマンドで特定期間内に修正されたファイルを探す方法
・「修正時刻」「アクセス時刻」「変更時刻」の違い
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
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 -t と head を組み合わせます。# 最新ファイル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 +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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Linuxでディレクトリ内のファイル数をカウントする方法|ls・find・wcと再帰・隠しファイル対応
- 前のページへ:拡張子ごとにファイルを並べて表示する方法|ls -Xオプションの使い方と実践例
- この記事の属するカテゴリ:Linuxtips・ディレクトリ・ファイル操作へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます