GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで大きなファイルを探す

時間の経過とともに、ディスクドライブは、大量のディスク領域を占める多くの不要なファイルで乱雑になる可能性があります。通常、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コマンドラインを使用してファイルとディレクトリを削除する方法に関するガイドを読むことをお勧めします。

ご質問やご意見がございましたら、下にコメントを残してください。


Linux
  1. Linuxで最近または今日変更されたファイルを見つける方法

  2. Linuxでファイルをすばやく検索するための5つのコマンドラインツール

  3. 25Linuxでの便利なfindコマンドの実用例

  1. Linuxで重複ファイルを見つける方法

  2. findおよびduコマンドを使用してLinuxで大きなファイルを検索する方法

  3. Linuxの検索コマンド

  1. Linuxでファイルを見つける方法

  2. Linuxでのコマンドの検索(ファイルとディレクトリの検索)

  3. プロのようにLinuxでファイルとディレクトリを探す