web-dev-qa-db-ja.com

最もディスク容量を使用しているファイルを見つける

ハードドライブ上の最大のファイルをリストすることはできますか?よく使うdf -Hディスク使用量を表示しますが、これは完全なパーセンテージ、残りのGBなどのみを示します。

大量の小さなファイルと非常に少数の非常に大きなファイルを使用して、多くのデータ集約的な計算を行います。使用されているディスク領域のほとんどが非常に少数のファイルにあるため、これらの大きなファイルがどこにあるのかを追跡するのは難しい場合があります。 1 kBファイルを削除しても多くのスペースは解放されませんが、100 GBファイルを削除すると解放されます。サイズの観点からハードドライブ上のファイルを並べ替える方法はありますか?

ありがとう。

47
Andrew

標準の利用可能なツールで:

現在のディレクトリから最大の10個のファイルをリストするには:du . | sort -nr | head -n10

現在のディレクトリから最大のディレクトリを一覧表示するには:du -s * | sort -nr | head -n10

[〜#〜] update [〜#〜]最近は、より読みやすいフォームを使用しています(Jay Chakraが別の回答で説明しているように、| head -n10は省略し、単にスクロールしないようにします画面最後の行には最大のファイルまたはディレクトリ(ツリー)があります。

時々、例えば。現在のディレクトリに多数のマウントポイントがある場合、-xまたは複数の--exclude=PATTERNを使用する代わりに、未使用のマウントポイントにファイルシステムをマウントする方が便利です(しばしば/mnt)そしてそこから作業します。

大きな(NFS)ボリュームを操作する場合、多数の(サブ)ディレクトリでduを実行すると、ストレージバックエンド(ファイラー)にかなりの負荷がかかる可能性があることに注意してください。その場合は、ボリュームにquotaを設定することを検討することをお勧めします。

53
jippie

ジッピーの答えに追加

現在のディレクトリから最大のディレクトリを人間が読める形式でリストするには:

du -sh * | sort -hr | head -n10

サンプル:

[~]$ du -sh * | sort -hr | head -n10
48M app
11M lib
6.7M    Vendor
1.1M    composer.phar
488K    phpcs.phar
488K    phpcbf.phar
72K doc
16K nbproject
8.0K    composer.lock
4.0K    README.md

読みやすくなります:)

37
Jay Chakra

ncdu を試してください。ディスクの使用状況の概要がわかるためです。そのウェブサイトから:

Ncursesインターフェースを備えたディスク使用量アナライザー。リモートサーバー上で実行することを目的としており、完全なセットアップはありませんが、単純なSSH接続を使用する必要があります。 ncduは、高速でシンプルで使いやすいことを目指しており、ncursesがインストールされている最小限のPOSIXのような環境で実行できる必要があります。

14
Renan

(gnu)

du -max /dir | sort -n大きなファイルと大きなディレクトリを表示します。これは、クリーンアップが必要な場所を特定するために使用できます。

du -max | sort -n | tail -1000
...
46632   ./i386/update/SuSE-SLES/8/rpm/i586/kernel-source-2.4.21-138.i586.rpm
49816   ./UnitedLinux/apt/i386/RPMS.updates/k_debug-2.4.21-138.i586.rpm
679220  ./UnitedLinux/apt/i386/RPMS.updates
679248  ./UnitedLinux/apt/i386
679252  ./UnitedLinux/apt
691820  ./UnitedLinux/i586
691836  ./i386/update/SuSE-SLES/8/rpm/i586
695192  ./i386/update/SuSE-SLES/8/rpm
695788  ./i386/update/SuSE-SLES/8
695792  ./i386/update/SuSE-SLES
695804  ./i386/update
695808  ./i386
1390184 ./UnitedLinux

(私はそれがかなり古い木であることを知っています:p)

4
Emmanuel

Ubuntuのすべてのファイルとディレクトリのサイズを見つけるには、シンプルで効果的な方法があります。

アプリケーション>アクセサリ> Disk Usage Analyzer

このウィンドウで、ツールバーの[ファイルシステムのスキャン]ボタンをクリックします。しばらくすると(数秒後)、すべてのディレクトリとファイルのディスク使用量が増えます。

2
Sam

グラフィカルツールが必要な場合は、存在します https://github.com/shundhammer/qdirstat

1
Hannes Snögren

このコマンドで試すことができます。20Mbより大きいすべてのファイルがリストされます。

find / -type f -size +20000k -exec ls -lh {} \; 2> /dev/null \
  | awk '{ print $NF ": " $5 }'  | sort -hrk 2,2
0
patseb

次のコマンドを入力します

cd /

次に入力

du -sh * | grep G

上記のコマンドは、どのディレクトリで使用されているメモリの量を示しています。その後、削除するディレクトリまたはファイルを決定する必要があります

0
Dipak bodare