Linux でのサイズによるファイルの並べ替え
- Linux 上のディレクトリで最大および最小のファイルを検索する
- Linux のすべてのディレクトリのサイズを見つける
- 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