ディレクトリに保存されている量を再帰的に見つける方法は?


136

llまたはで長いリストを作成すると、ファイルのバイトサイズを確認できることを知っていますls -l。しかし、ディレクトリ内のファイルとその中のサブディレクトリなど、ディレクトリ内のストレージの量を知りたいです。ファイルの数は必要ありませんが、代わりにそれらのファイルが占めるストレージの量が必要です。

だから私は特定のディレクトリにどのくらいのストレージが再帰的にあるか知りたいですか?コマンドがある場合、それはバイト単位になると思います。

回答:


146

これを試してみてください:

du -s dir

または

du -sh dir

-hサポートが必要です。OSによって異なります。

見る

man du

2
-bバイト単位の出力に追加
-pcnate

4
--allすべてのファイルを一覧表示し、-hは人間が読める形式でファイルサイズを表示しますdu -h --all
Praneeth

29

あなたはただ:

du -sh /path/to/directory

どこ-sのためにある要約-hするために、人間が読める非標準オプション)。

注意してくださいしかし、とは違ってls、これはなりません、あなたが表示さサイズのファイルが、ディスクの使用状況(つまり、ファイルシステムのブロックサイズの倍数)、しかし、あなたが使用できるように、ファイルは、小さい、またはさらに大きなかもしれ--apparent-sizeオプション:

du -sh --apparent-size /path/to/directory

これは、必要な場合にネットワーク経由で転送されるサイズです。

実際、ファイルには「穴」(空のシェル)があり、ファイルシステムのブロックサイズよりも小さく、ファイルシステムレベルで圧縮されている場合があります。これについては manページで説明されています。

ニクラスが 指摘し、あなたも使用可能ncduディスク使用量アナライザを。ディレクトリ内から起動すると、どのフォルダーとファイルがディスクスペースを使用するかを、最大から最小の順に並べて表示します。

この質問も見ることができます。


19

ディレクトリ内のすべての{sub} foldersサイズを知りたい場合は、-dor --max-depthオプションdu(引数を取る:再帰的制限)も使用できます。

例えば ​​:

du -h /path/to/directory -d 1

のようなものが表示されます

4.0K /path/to/directory/folder1
16M  /path/to/directory/folder2
2.4G /path/to/directory/folder3
68M  /path/to/directory/folder4
8G   /path/to/directory/folder5

PS:0再帰的な制限として入力することは、-sオプションと同等です。これらの2つのコマンドは同じ結果を返します(指定されたディレクトリの再帰的な人間が読めるサイズ):

du -h /path/to/directory -d 0
du -sh /path/to/directory

-d 1ディレクトリパスの前にある必要があります
Abhinav Singi

ニーズ?それは、ubuntu / debianのディレクトリパスの後に機能します。それは前にそれを持っているのに、私は同意する進歩して
Floのシルト

14

既に述べたduコマンドの代替ncduは、ターミナルで使用するための素敵なディスク使用量アナライザです。最初にインストールする必要があるかもしれませんが、ほとんどのパッケージリポジトリで利用可能です。

編集:出力形式については、これらのスクリーンショットを参照してください http://dev.yorhel.nl/ncdu/scr


奇跡!これにより、どのフォルダが大量のディスクサイズストレージを保持しているかを確認できます。また、不思議なことに消えたファイルもすべて見つけました。それは素晴らしいツールです。
ファロン

11

これにより、フォルダー(再帰)やファイルなど、現在のディレクトリのサイズのリストが表示されます。

$ du -hs *
7.5M    Applications
9.7M    Desktop
 85M    Documents
 16K    Downloads
 12G    Google Drive
 52G    Library
342M    Movies
8.3M    Music
780M    Pictures
8.5G    Projects
8.0K    Public
 16K    client1.txt

3
サイズで注文するには:du -hs * | sort -hs
カイザー

3

Unixでは、ディレクトリにはファイルシステムオブジェクト(ディレクトリ、ファイル、またはその他のエキゾチックなものを参照できるiノード)への名前と参照が含まれています。ファイルは、同じディレクトリ内の複数の名前で表示されるか、複数のディレクトリにリストされます。したがって、ファイルは「内部」ではないため、「ディレクトリと内部のファイルによって使用されるスペース」は意味をなしません。

これは、コマンドとdu(1)、それを介して到達可能であるものをリストしたディレクトリが使用するスペースとすべてを、du -sで、要約を与える-hGNUのようないくつかの実装は、du「人間が読める」出力(すなわち、キロバイト、メガバイト)を得ました。


1

私にとっては、OS X ElCapitánの深さとパスの場合、逆方向に機能しました

du -h -d 1 /path/to/directory

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.