時間の経過とともに、ディスクドライブは、大量のディスク領域を占める多くの不要なファイルで乱雑になる可能性があります。通常、Linuxシステムは、ログまたはバックアップファイルが大きいためにディスク容量が不足しています。
このチュートリアルでは、find
を使用してLinuxシステムで最大のファイルとディレクトリを検索する方法について説明します。 およびdu
コマンド。
find
を使用して大きなファイルを検索する コマンド#
find
コマンドは、Linuxシステム管理者の武器の中で最も強力なツールの1つです。ファイルサイズなど、さまざまな基準に基づいてファイルやディレクトリを検索できます。
たとえば、現在の作業ディレクトリで100 MBを超えるサイズのファイルを検索するには、次のコマンドを実行します。
sudo find . -xdev -type f -size +100M
.
を置き換えます 最大のファイルを検索するディレクトリへのパスを指定します。 出力には、追加情報なしでファイルのリストが表示されます。
/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
find
コマンドは、ls
などの他のツールと組み合わせて使用することもできます。 またはsort
それらのファイルに対して操作を実行します。
以下の例では、find
の出力を渡します。 ls
へのコマンド これにより、見つかった各ファイルのサイズが出力され、その出力がsort
にパイプされます。 ファイルサイズである5番目の列に基づいて並べ替えるコマンド。
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
出力は次のようになります:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
出力に多くの情報が含まれている場合は、head
を使用できます 最初の10行のみを印刷するコマンド:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
コマンドを分解してみましょう:
find . -xdev -type f -size +100M -print
-ファイルのみを検索します(-type f
)現在の作業ディレクトリ(.
)、100MBより大きい(-size +100M
)、他のファイルシステムのディレクトリを降ろさないでください(-xdev
)そして、完全なファイル名を標準出力に出力し、その後に新しい行を続けます(-print
。-
xargs ls -lh
-find
の出力 コマンドはxargs
にパイプされますls -lh
を実行します 人間が読める形式の長いリストで出力を出力するコマンド。 -
sort -k5,5 -h -r
-5番目の列に基づいて行を並べ替えます(-k5,5
)、人間が読める形式(-h
)で値を比較します )そして結果を逆にします(-r
。 head
:パイプ出力の最初の10行のみを出力します。
find
コマンドには多くの強力なオプションが付属しています。たとえば、x日より古い大きなファイル、特定の拡張子を持つ大きなファイル、または特定のユーザーに属する大きなファイルを検索できます。
du
を使用して大きなファイルとディレクトリを検索する コマンド#
du
コマンドはファイルスペースの使用量を見積もるために使用され、大量のディスクスペースを消費するディレクトリやファイルを見つけるのに特に役立ちます。
次のコマンドは、最大のファイルとディレクトリを出力します。
du -ahx . | sort -rh | head -5
最初の列にはファイルのサイズが含まれ、2番目の列にはファイル名が含まれます:
55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube
コマンドの説明:
-
du -ahx .
:現在の作業ディレクトリ(.
)のディスク領域使用量を見積もります )、ファイルとディレクトリの両方をカウントします(a
)、人間が読める形式でサイズを印刷します(h
)、および異なるファイルシステム上のディレクトリをスキップします(x
。 -
sort -rh
:人間が読める形式(-h
)の値を比較して行を並べ替えます )そして結果を逆にします(-r
。 -
head -5
:パイプ出力の最初の5行のみを出力します。
du
コマンドには、ディスクスペース使用量の出力を調整するために使用できる他の多くのオプションがあります。
結論#
find
を使用して最大のファイルとディレクトリを見つける方法を説明しました およびdu
コマンド。
システム上で最大のファイルを見つける方法を学習したので、Linuxコマンドラインを使用してファイルとディレクトリを削除する方法に関するガイドを読むことをお勧めします。
ご質問やご意見がございましたら、下にコメントを残してください。