Linux でのサイズによるファイルの並べ替え

Niraj Menon 2023年1月30日
  1. Linux 上のディレクトリで最大および最小のファイルを検索する
  2. Linux のすべてのディレクトリのサイズを見つける
  3. Linux で特定のサイズよりも大きいファイルを検索する
  4. Linux でのディスク使用量の表示
Linux でのサイズによるファイルの並べ替え

場合によっては、不必要に大きなファイルを見つけて削除したり、ログなどの所定のサイズよりも小さいファイルを削除したりして、システムのディープクリーニングを実行したい場合があります。Linux は、組み合わせて使用​​するとそのようなファイルを見つけるのに役立つさまざまなユーティリティを提供します。

このチュートリアルでは、サイズに基づいてフォルダ内のファイルを検索するなど、日常的な使用で find を使用する方法について説明します。

Linux 上のディレクトリで最大および最小のファイルを検索する

特定のフォルダ内の最大のファイルを見つけるには、du および sort コマンドを使用できます。

user@linux:~$ ls -lh
-rw-r--r-- 1 user user 8.0M Jan 1 00:00 a
-rw-r--r-- 1 user user 4.0M Jan 1 00:00 b
-rw-r--r-- 1 user user 2.0M Jan 1 00:00 c
-rw-r--r-- 1 user user 1.0M Jan 1 00:00 d
user@linux:~$ du -h * | sort -h
1.0M    d
2.0M    c
4.0M    b
8.0M    a

これにより、サイズの大きい順にファイルが出力されるため、ディレクトリ内の最大のファイルがプログラム出力の最後になり、最小のファイルが最初になります。

-h フラグの使用に注意してください。これは、サイズが人間が読める形式で指定されていることをコマンドに通知します。

Linux のすべてのディレクトリのサイズを見つける

次のコマンドは、ホームディレクトリ内のディレクトリをサイズの昇順で検索して並べ替えます。

user@linux:~$ sudo find /var/ -maxdepth 1 -type d -exec du -sh {} \; | sort -h
4.0K    /var/local
4.0K    /var/mail
4.0K    /var/opt
56K     /var/spool
60K     /var/tmp
92K     /var/snap
7.3M    /var/backups
4.3G    /var/log
4.4G    /var/cache
17G     /var/lib
25G     /var/

Linux で特定のサイズよりも大きいファイルを検索する

検索するファイルの最小サイズまたは最大サイズがわかっている場合は、find コマンドを使用してそのようなファイルを一覧表示できます。

200 MB(200M)を超えるすべてのファイルを検索するとします。これを行うには、次のコマンドを使用します。このコマンドは、検出された各ファイルのサイズを追加で出力します。sudo を使用して、すべての root 所有のディレクトリに移動します。

実行の出力によって異なるファイルが生成される可能性があることに注意してください。

user@linux:/var$ sudo find . -type f -size +200M -exec ls -lh {} \;
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/snaps/qt513_24.snap
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/cache/cf177ca655544816bb73b6d8e89c83753b96548f105acd563c1bf1b7d0d046bd3e99a96db5bfe912f8a446a8e9d5b6c5

Linux でのディスク使用量の表示

Linux コマンド df を使用すると、ファイルシステムの各パーティションの全体的なディスク使用量を確認できます。これにより、スペースが過剰に使用されているパーティションを絞り込むことができます。ディスク使用量を見つけるために、以下を実行します。

繰り返しになりますが、これはディスク構成によって大きく異なる場合があります。snap のエントリはループバックディスクと呼ばれ、Ubuntu の Snap ユーティリティで必要とされるディスクイメージがマウントされる仮想ディスクです。

user@linux:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  2.1M  1.6G   1% /run
/dev/nvme0n1p6  200G   45G  146G  24% /
tmpfs           7.8G  397M  7.4G   5% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
/dev/nvme0n1p2   96M   36M   61M  37% /boot/efi
/dev/loop1       56M   56M     0 100% /snap/core18/2253
/dev/loop0      165M  165M     0 100% /snap/gnome-3-28-1804/161
/dev/loop2      512K  512K     0 100% /snap/gifex/3
/dev/loop3       66M   66M     0 100% /snap/gtk-common-themes/1519
/dev/loop4      128K  128K     0 100% /snap/bare/5
/dev/loop6      363M  363M     0 100% /snap/qt513/24
/dev/loop7      100M  100M     0 100% /snap/core/11993
/dev/sda7       1.1T  384G  677G  37% /home
tmpfs           1.6G  1.9M  1.6G   1% /run/user/1000
/dev/loop8       56M   56M     0 100% /snap/core18/2284

関連記事 - Linux File