Du - インデックスノード

Du - インデックスノード

システム上のすべてのinode使用量がどこにあるかを調べるために、サブディレクトリにいくつかのファイルがあることを確認したいと思います。空間活用のためこうやったと思います。

du -sh /*

これにより、ルートディレクトリ以外のディレクトリで使用されるスペースが提供されますが、この場合はサイズではないファイル数が必要です。

ベストアンサー1

find . -maxdepth 1 -type d | while read -r dir
do printf "%s:\t" "$dir"; find "$dir" -type f | wc -l; done

セキュリティ/互換性を修正するためにGillesとxenoterracideに感謝します。

最初の部分は、find . -maxdepth 1 -type d現在の作業ディレクトリのすべてのディレクトリのリストを返します。 (警告:-maxdepthGNU拡張であり、GNU以外のバージョンにはないかもしれません  find。)これは次にパイプされます...

パート2:(while read -r dir; do 上記のwhile read -r dir(新しい行)do)ループを開始します。このコマンドは、着信whileパイプが開いている間while(フルディレクトリリストが送信されるまで)read変数に次の行を置きますdir。それから続けて...

パート3:printf "%s:\t" "$dir"ディレクトリ名の1つを含む文字列が印刷され、$dir その後にコロンとタブ(改行ではありません)が表示されます。

パート4:find "$dir" -type fディレクトリに名前が付けられたすべてのファイルのリスト$dir。このリストは次に送信されます。

パート5:wc -l標準入力に送信された行数を数えます。

最後の部分:done単にwhileループを終了します。

これにより、現在のディレクトリの下にあるすべてのディレクトリのリストを取得できます。各ディレクトリで使用できるように、その中にあるすべてのファイルのリストを作成しますwc -l。結果は次のとおりです。

./dir1: 234
./dir2: 11
./dir3: 2199
...

おすすめ記事