「ディスク容量を圧迫している巨大なファイルを探し出したい」
Linuxサーバーの運用保守で、毎日必ずと言っていいほど直面するシチュエーションです。
この記事では、
ls コマンドを使ってファイルやディレクトリの一覧を並び替える(ソートする)方法を解説します。単なるアルファベット順ではなく、現場のエンジニアが息をするように使っている「時間順」や「サイズ順」など、実務直結のオプションをまとめました。
【この記事でわかること】
・ls -lt で最終更新時刻の新しい順にファイルを並べ替えられる
・ls -lS でファイルサイズの大きい順に並べ替えられる
・ls -lr で逆順(古い順・小さい順)に並べ替えられる
・ls -ltu でアクセス時刻順、ls -ltc でステータス変更時刻順に並べ替えられる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
1. 更新日時の「時間順」にソートする(-t / -rt)
障害調査などで最新のエラーログを確認する際、最もよく使われるのが時間順のソートです。新しい順(降順)に並べる: -t
-t(time)オプションを付けると、タイムスタンプ(更新日時)が新しいファイルが上に、古いファイルが下に並びます。通常は詳細表示の -l と組み合わせて -lt として使います。# ls -lt -rw-r--r-- 1 root root 1024 2月 24 10:00 access.log ←一番新しい -rw-r--r-- 1 root root 2048 2月 23 15:30 error.log -rw-r--r-- 1 root root 4096 2月 22 09:15 system.log ←一番古い
【現場の鉄則】古い順に並べて最新を一番下に出す: -rt
-t オプションには弱点があります。ファイルが数百個ある場合、一番新しいファイルが画面の上に流れていってしまい、いちいちスクロールして戻らなければなりません。そこで、逆順にする
-r(reverse) オプションを組み合わせます。# ls -lrt -rw-r--r-- 1 root root 4096 2月 22 09:15 system.log ←一番古い -rw-r--r-- 1 root root 2048 2月 23 15:30 error.log -rw-r--r-- 1 root root 1024 2月 24 10:00 access.log ←一番新しい(画面の一番下)
ls -lrt と打つことで、プロンプトのすぐ上に最新ファイルが表示されるため、現場ではこちらを使うのが圧倒的な定番です。隠しファイル(ドットファイル)も含めてソートする: -a との組み合わせ
.bashrc や .ssh などの隠しファイル(ドットファイル)も対象に含めたい場合は、-a(all)を追加します。隠しファイルも含めて更新日時の古い順に並べる場合は下記の通り実行します。
# ls -lrta
2. ファイルの「サイズ順」にソートする(-S)
「ディスク容量が100%になってしまったので、巨大なファイルを特定したい」という時に活躍するのが-S(大文字のエス)オプションです。大きい順(降順)に並べる: -S
サイズ順に並べる場合も、人が見て分かりやすいように-h(human-readable:KやMなどの単位をつける)オプションと組み合わせるのが実務の基本です。# ls -lhS -rw-r--r-- 1 root root 1.5G 2月 24 10:00 database.dump ←一番大きい -rw-r--r-- 1 root root 500M 2月 23 15:30 backup.zip -rw-r--r-- 1 root root 12K 2月 22 09:15 config.txt ←一番小さい
ls -lhSr と -r を追加します。3. 拡張子ごとにソートする(-X)
同じディレクトリに.html、.php、.jpg などが混在している場合、拡張子ごとにまとめて表示させるとスッキリします。この場合は -X(大文字のエックス)を使います。# ls -lX -rw-r--r-- 1 root root 120 2月 24 10:00 index.html -rw-r--r-- 1 root root 1024 2月 24 10:00 data.txt -rw-r--r-- 1 root root 200 2月 24 10:00 login.php -rw-r--r-- 1 root root 300 2月 24 10:00 main.php
-x は「行ごとに横に並べて表示する」という全く別のオプションなので注意してください。※
-X および次の -v はLinux(GNU ls)固有のオプションです。macOSのターミナルなど、BSD系の環境では使用できませんのでご注意ください。4. 数字(バージョン)順にソートする(-v)
通常のアルファベット順ソートでは、file1.txt、file10.txt、file2.txt のように、数字の「10」が「2」より先に来てしまい不自然になります。これを人間が見て自然な数字順(バージョン順)に並び替えるのが
-v オプションです。# ls -lv -rw-r--r-- 1 root root 100 2月 24 10:00 file1.txt -rw-r--r-- 1 root root 200 2月 24 10:00 file2.txt -rw-r--r-- 1 root root 300 2月 24 10:00 file10.txt
本記事のまとめ(ソートオプション早見表)
| やりたいこと | コマンド例 |
|---|---|
| 更新日時が新しい順に並べる | ls -lt |
| 更新日時が古い順に並べる(最新が一番下) | ls -lrt |
| 隠しファイルも含めて時間順に並べる | ls -lrta |
| ファイルサイズが大きい順に並べる | ls -lhS |
| ファイルサイズが小さい順に並べる | ls -lhSr |
| 拡張子ごとにまとめて並べる(Linux専用) | ls -lX |
| 数字(バージョン)順に自然に並べる(Linux専用) | ls -lv |
あわせて読みたい関連記事
・xargs・find・grepの組み合わせ — ファイル一覧から一括処理lsコマンドのソートオプションを使いこなして、現場作業を効率化する
ファイルを時間順やサイズ順に素早く並べ替えられると、ログ調査やディスク管理の作業時間が大幅に短縮されます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:ファイルをGZIP形式で圧縮する
- 前のページへ:24時間以内に修正されたファイルを検索する
- この記事の属するカテゴリ:Linuxtipsへ戻る

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