アンドロイド

Linuxで大きなファイルを見つける

この雨にかくれて (Hide in This Rain)

この雨にかくれて (Hide in This Rain)

目次:

Anonim

時間の経過とともに、ディスクドライブは大量のディスクスペースを占有する多くの不要なファイルで混雑する場合があります。 通常、Linuxシステムでは、大きなログファイルまたはバックアップファイルのためにディスク領域が不足します。

このチュートリアルでは、 find および du コマンドを使用して、Linuxシステムで最大のファイルとディレクトリを見つける方法を説明します。

find コマンドを使用した大きなファイルの find

find コマンドは、Linuxシステム管理者の武器の中で最も強力なツールの1つです。 ファイルサイズなどのさまざまな基準に基づいてファイルとディレクトリを検索できます。

たとえば、サイズが100MBを超えるファイルを検索する場合、現在の作業ディレクトリで次のコマンドを使用します。

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 渡し 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 find. -xdev -type f -size +100M -print 現在の作業ディレクトリ( . )内のファイルのみを検索し( . -xdev )および完全なファイル名を標準出力に出力し、その後に改行( -print )を続けます。 xargs ls -lh - find コマンドの出力は xargs パイプされ、 ls -lh コマンドを実行し find コマンドは、出力を人間が読める形式の長いリストで出力します。 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 コマンドには、ディスクスペース使用量の出力を調整するために使用できる他のオプションが含まれています。

結論

大きなファイルを見つけることは、ディスクがいっぱいで、それを解放したいときに非常に便利です。

システム上で最大のファイルを見つけたので、Linuxコマンドラインを使用してファイルとディレクトリを削除する方法に関するガイドをお読みください。

ディスク端末を見つける