web-dev-qa-db-ja.com

ディスク使用量のユーザーとフォルダーを表示する

私はサーバーからリストしようとしていますが、任意の端末コーディングを介して行うことが可能かどうか疑問に思っていました(今はかなり弱いです)

たとえば、メインディレクトリには多数のサブフォルダー(レベル2)があり、その中にも多数のサブフォルダー(レベル3が深い?)があります。

そのため、端末での通常のコーディングで次のような結果が得られるかどうか疑問に思っていました。

  • どのユーザーが最も多くのスペース(レベル3の深さ)を占めているか、フォルダーも表示する
  • 最も多くのスペースを占有している上位10人(レベル2の深さ)

メインディレクトリ:

|- sub_lvl_2_A
    |- sub_lvl_3_A
|- sub_lvl_2_B
    |- sub_lvl_3_B
    |- sub_lvl_3_C
1
xenas

duコマンドは、ディレクトリの推定サイズを再帰的に検索します。ただし、出力をサイズでソートしません。

(これを機能させるにはrootになる必要があります)

本当に、引数を-d(最大深度)オプションに変更するだけです:

各ユーザーのホームディレクトリのサイズをサイズの降順で印刷するには:

Sudo du -d 1 /home | sort -gr

各ユーザーのホームディレクトリ(レベル3)内のフォルダーのサイズを印刷するには(これは非常に長くなるため、lessにパイプすることをお勧めします):

Sudo du -d 2 /home

(出力が長い場合):

Sudo du -d 2 /home | less

各ユーザーのサブディレクトリをサイズで並べ替える場合は、ユーザーごとにduを個別に実行する必要があります。

Sudo du -d 1 ~user1 | sort -gr
Sudo du -d 1 ~user2 | sort -gr

...等々。

別の開始点から作業する場合は、du(上記の/home)の最後の引数を作業するディレクトリに変更するだけです。引数を-dに変更すると、再帰するレベルの数が変わります。

2
hal7df