2010-08-03 17:58:26 +0000 2010-08-03 17:58:26 +0000
142
142

ターミナルで現在のフォルダのフォルダのサイズをリストアップしてくれませんか?

カレントディレクトリか指定したディレクトリのフォルダのサイズをリストアップして欲しいのですが

duで試したのですが、指定したディレクトリのサイズしか表示されず(du ./f1)、lsではフォルダのサイズが表示されないのですが

スクリプトを使わずにどうすればいいのでしょうか?

回答 (9)

223
223
223
2010-08-03 18:29:55 +0000

カレントディレクトリ内のすべてのディレクトリを表示したい場合:

$ du -sh */
788K foo/
500K bar/
931K baz/

別のディレクトリから始まるディレクトリを表示したい場合:

$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/

ドットで始まる名前のディレクトリが含まれていることを確認したい場合は、最初に shopt -s dotglob を実行してください。

19
19
19
2013-03-02 05:23:56 +0000

Macでは、–max-depthオプションは-d [depth]で置き換えられます。つまり、人間が読めるルートドライブのリストに加えて、深さ2レベルのリストを表示するには、以下のようにします:

du -hd 2 /*

注意: このコマンドは、ルートから離れた上位2レベルのディレクトリを表示します。これには、1つのレベルをVolumes_にトラバースすることが含まれており、添付されているボリュームの各トップレベルのディレクトリのサマリーサイズが一覧表示されます。アタッチしたボリュームの内容によっては、このコマンドの完了に時間がかかる場合があります。

14
14
14
2010-08-03 19:32:55 +0000

もう一つの方法は –max-depth オプションです。

du -h --max-depth=1 .

は現在のフォルダの下にあるすべてのディレクトリとファイルをサイズでリストアップします。

5
5
5
2010-08-03 18:09:10 +0000

試してみてください:

$ du -s ./f1

または $ du -sh ./f1

より読みやすいサイズのための &001

を。

4
4
4
2018-03-02 22:17:45 +0000

受け入れられた答えに基づいて、このコマンドはディレクトリ内のフォルダのサイズを表示し、andはまた、あなたがより簡単に解釈できるようにサイズによってそれらをリストアップします:

$ du -sh */ | sort -rn
2
2
2
2015-06-30 15:39:04 +0000

$ du --max-depth=1 /var/www/ | sort -n -r

2
2
2
2016-06-12 12:26:54 +0000

NCurses Disk Usage](https://dev.yorhel.nl/ncdu) シェルコマンドを参照してください。

Ncdu は ncurses インターフェイスを持つディスク使用量アナライザです。グラフィカルなセットアップが利用できないリモートサーバ上のスペースの問題を見つけるために設計されていますが、通常のデスクトップシステム上でも有用なツールです。Ncdu は速く、シンプルで使いやすいことを目指しており、ncurses がインストールされている最小の POSIX ライクな環境でも動作するようになっています。

1
1
1
2017-03-27 23:47:09 +0000

以下のPOSIXスクリプトは次のように動作します:

  • ファイル
  • ファイル
  • ディレクトリ
  • ディレクトリ
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

ソース

1
1
1
2017-09-28 15:32:12 +0000

Macでは、GNU (Linux) の実装であるduをHomebrew (brew install coreutils)でインストールすることができます。そして、例えば以下のようになります。

gdu folder -shL --exclude=.git

ここで

  • gdudu の GNU 実装に与えられた名前 (デフォルトでは Homebrew は /usr/bin/du を非表示にしません) です;
  • s は指定されたフォルダの合計を表示します (内訳を見たい場合は省略してください);
  • h は人間が読めるサイズを出力します;
  • L はシンボリックリンクに従います;
  • --exclude=.git は指定されたフォルダ内の git ディレクトリを除外します (これは一例です)。

--exclude=blah を追加することで、より多くのフォルダを無視することができます。また、複数のフォルダを一度に指定することもできます (gdu folder1 folder2 ... のように)。その場合は、c オプションを使用してすべてのサブトータをひとつのサイズにまとめることができます。