ls -l
を実行したときと同じように、ディレクトリとそのサイズのリストをリスト形式で取得します。
問題は、これを実行できる1行のコマンドがあるということです。これを出力するためだけに他の人が長いコマンドを持っているようです。それは長すぎます。
これを実行できるコマンド、または簡単に入力できるコマンドの組み合わせはどれですか。 du -h
はそれを与えます、しかしそれは私が欲しいものではないすべてのサブフォルダーを表示します。現在のディレクトリフォルダだけです。
おそらくサイズ順に並べられたディレクトリを見たいでしょう:
$ du -hs * | sort -hr
856M lib
746M share
612M lib64
312M src
267M Java
239M bin
179M sbin
173M local
93M i686-w64-mingw32
72M libexec
26M include
20M puppet
772K X11R6
20K man
4.0K games
4.0K etc
0 tmp
これを試して
du -h --max-depth=1
oliver@home:/usr$ Sudo du -h --max-depth=1
24M ./include
20M ./sbin
228M ./local
4.0K ./src
520M ./lib
8.0K ./games
1.3G ./share
255M ./bin
2.4G .
--max-depth=1
があなたの趣味にはちょっと長すぎるならば、あなたも使用することを試みることができます:
du -h -s *
これは-s
(--summarize
)を使い、デフォルトではフォルダ自体のサイズだけを表示します。現在の作業ディレクトリ(*
)内のすべての要素を渡すことによって、--max-depth=1
が行うのと同様の出力が生成されます。
oliver@cloud:/usr$ Sudo du -h -s *
255M bin
8.0K games
24M include
520M lib
0 lib64
228M local
20M sbin
1.3G share
4.0K src
違いは微妙です。前者のアプローチでは、現在の作業ディレクトリの合計サイズとその中に含まれているすべてのフォルダの合計サイズが表示されます。
後者の方法では、渡されたすべてのアイテムの合計サイズを個別に計算します。したがって、出力にシンボリックリンクlib64
が含まれますが、隠しアイテム(名前はドットで始まります)は除外されます。引数として渡されなかったため、現在の作業ディレクトリの合計サイズも不足しています。
ディスク上のすべてのファイルフォルダと隠しファイルのサイズを印刷します。
el@dev /home/el $ du -sh `ls -a`
258M .
265M ..
4.0K .classpath
258M .git
4.0K .gitignore
9.0K nbactions.xml
12K README
20K .README.swp
4.0K run.sh
23K XmlPostPropagate.php
言及する価値がある NCursesディスク使用量 シェルコマンド。
Ncduはncursesインターフェイスを持つディスク使用状況アナライザーです。それはあなたが利用可能な全体的なグラフィカルなセットアップを持っていないリモートサーバー上のスペース浪費を見つけるように設計されていますが、それは通常のデスクトップシステム上でさえも便利なツールです。 Ncduは速く、簡単で使いやすいことを目指しており、ncursesがインストールされている最小限のPOSIX風の環境で動くことができるはずです。