ホームページ  >  記事  >  運用・保守  >  Linux で大きなファイルを見つけるにはどうすればよいですか? (コード例)

Linux で大きなファイルを見つけるにはどうすればよいですか? (コード例)

青灯夜游
青灯夜游オリジナル
2019-03-29 16:48:546208ブラウズ

時間が経つと、ディスク ドライブが不要なファイルでいっぱいになり、多くのディスク領域を占有し、Linux デバイスのディスク領域が不足することがあります。では、これらの大きなファイルはどうやって見つけるのでしょうか?次の記事では、Linux で find コマンドと du コマンドを使用して最大のファイルとディレクトリを検索する方法を紹介します。

Linux で大きなファイルを見つけるにはどうすればよいですか? (コード例)

#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 にパイプします。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

上記のコマンドを分解して理解しましょう:

1,

find . -xdev -type f -size 100M -print: 現在の作業ディレクトリ (. ) for (-type f) more than 100MB (-size 100M) のファイルの場合、他のファイル システム上のディレクトリを下に置かず (-xdev)、完全なファイル名を標準出力に出力してから、出力をラップします (-print)。

1,

xargs ls -lh: xargs を使用して ls-lh コマンドを実行すると、人間が判読できる長いリスト形式で出力が表示されます。

3,

sort -k5,5 -h -r: 列 5 (-k5,5) に従って行をソートし、人間が読める形式 (-h) を比較して結果を反転します。 (-r)。

4,

head : パイプライン出力の最初の 10 行のみを表示します。

find コマンドには多くの強力なオプションがあります。たとえば、x 日より古いファイル、特定の拡張子を持つファイル、または特定のユーザーに属する大きなファイルを検索できます。

du コマンドを使用して大きなファイルとディレクトリを検索します

du コマンドは、ファイル スペースの使用量を見積もったり、使用するディレクトリを検索したりするために使用されます。大量のディスク容量とファイルは特に便利です。

次のコマンドを使用して、最大のファイルとディレクトリを出力します:

du -ahx . | sort -rh | head -5

出力:

55G.
24G./.vagrant.d/boxes
24G./.vagrant.d
13G./Projects
5.2G./.minikube

コマンドの説明:

1 ,

du -ahx .: 現在の作業ディレクトリのファイル スペースの使用量を推定し (.)、ファイルとディレクトリを同時にカウントし (a)、人間が判読できる形式でサイズを出力し (h)、さまざまなファイルをスキップします。システム(x)上。

2,

sort -rh: 人間が判読できる形式 (-h) を比較して行を並べ替え、その結果を逆にします (-r)。

3,

head -5: パイプライン出力の最初の 5 行のみを出力します。

du コマンドには、ディスク領域の使用量の出力を最適化するために使用できる追加のオプションが含まれています。

おすすめのビデオ チュートリアル: 「

Linux チュートリアル

以上がこの記事の全内容です。皆様の学習に役立つことを願っています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がLinux で大きなファイルを見つけるにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。