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

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

ll私は長いリストを使用または実行するときにファイルのバイトサイズを見ることができることを知っていますls -l。しかし、ディレクトリ内のファイルやその中にあるサブディレクトリなどを含む、ディレクトリにどれだけの記憶領域があるかを知りたいです。ファイル数は必要ありませんが、そのファイルが占める記憶容量は必要です。

それでは、特定のディレクトリにどれだけの記憶領域があるかを再帰的に知りたいと思います。コマンドがあればバイト単位になりそうです。

答え1

これを試してください:(交換dirディレクトリ名で)

Du-s  目次

これは累積を提供しますディスク使用量(いいえサイズ)の ユニーク(同じファイルへのハードリンクは一度だけカウントされます。)ファイル(ディレクトリを含むすべてのタイプですが、実際には一度だけカウントされます)定期的なそして目次ファイルはディスク容量を占めます)。

duこれはPOSIX準拠の実装(環境のGNUを含む)では512バイト単位で表されますが、一部の実装duではキロバイト単位を指定します。キロバイトを取得するために使用されます。POSIXLY_CORRECTdu-k

~のためサイズ(いいえディスク使用量)バイト単位、duGNUと互換性または実装されている:

目次

または(まだ標準ではない):

工作夫人目次

人が読めるサイズ(ディスク使用量)。

バラより man du(ここのリンクはGNU実装用です)。

答え2

これを行うことができます:

du -sh /path/to/directory

どこに-sありますか?一般化する-hそして人が読める非標準オプション)。使用基準 -kしかし、KiBを得るために。

注意してくださいしかし(とは違うlsこれはいいえ見せてファイルサイズしかし、ディスク使用量(つまり、ファイルシステムブロックサイズの倍数)ファイル自体は実際には小さくても大きくてもかまいません。

だからファイルサイズのインポート、次のオプションがあります--apparent-size

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

必要に応じてネットワーク経由で送信するサイズです。

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

〜のようにニクラス 指摘ncdu、ディスク使用量アナライザを使用することもできます。ディレクトリから実行すると、どのフォルダとファイルがディスク容量を使用しているかが最大から最小の順に表示されます。

あなたは見ることができますこの問題しかも。

答え3

ディレクトリ内のすべての{sub}フォルダのサイズを知りたい場合、または-dオプション--max-depthを使用することもできますdu(1つの引数が必要:再帰制限)。

たとえば、

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再帰制限で入力することはoptionsと同じです-s。これら2つのコマンドは同じ結果を提供します(与えられたディレクトリの人が再帰的に読み取ることができるサイズ)。

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

答え4

すでに述べたコマンドの代替手段は、du端末ncduで使用できる優れたディスク使用量アナライザです。最初にインストールする必要があるかもしれませんが、ほとんどのパッケージストアで利用可能です。

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

関連情報