この質問を改善したいですか? スーパーユーザーのためのon-topicになるように質問を更新してください。
クローズド 5年前
私は、どのファイル/ディレクトリが最もスペースを占有しているかを表示するプログラムを探しています
74% music
\- 60% music1
\- 14% music2
12% code
13% other
KDE3で可能なのは知っていますが、それはやめておきたい – KDE4かコマンドラインの方がいいですね
133 Robert Munteanu 2009-07-21
最大10個のファイル(linux/bash)を見つけるには
find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
最大10のディレクトリを見つけるために
find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
違いは-type {d:f}
だけ
名前にスペースを含むファイルを処理し、出力に人間が読めるサイズのファイルを生成します。最大のファイルが最後に表示されます。tailへの引数は、表示される結果の数です(ここでは最大の10個)
ファイル名のスペースを処理するためには、2つのテクニックがあります。find -print0 | xargs -0
はスペースの代わりにヌルデリミタを使用し、2つ目のxargs -I{}
は入力項目を終了させるためにスペースの代わりに改行を使用します
example:
$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
76M ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
76M ./tmp/projects/onthisday/onthisday.tar.gz
114M ./Dropbox/snapshots/weekly.tgz
114M ./Dropbox/snapshots/daily.tgz
114M ./Dropbox/snapshots/monthly.tgz
117M ./Calibre Library/Robert Martin/cc.mobi
159M ./.local/share/Trash/files/funky chicken.mpg
346M ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi
130 Sean 2012-03-06
私はいつもncdu
を使っています。インタラクティブでとても速いです
200 Daenyth 2010-07-07
ざっと見た感じでは
du | sort -n
最大のラストを持つすべてのディレクトリをリストアップします
du --max-depth=1 * | sort -n
または、冗長な *
du --max-depth=1 | sort -n
カレントディレクトリ内のすべてのディレクトリを、最後に一番大きいディレクトリでリストアップします
(最初のフィールドがテキストとしてではなく数値としてソートされるように、ソートするための-nパラメータが必要ですが、ソートには有効な数値が必要なので、-hパラメータを使用することはできません)
シンボリックリンクに従ったり (デフォルトではシンボリックリンクに従わないようになっています)、サブディレクトリを除いたディレクトリの内容のサイズを表示したりするために du の他のパラメータを使用することができます
37 mas 2009-07-21
ほとんどのことについてはCLIツールの方が好きですが、ドライブの使い方については、filelightがとても気に入っています。今まで見てきた他のどのスペース管理ツールよりも直感的に操作できます
23 Anton Geraschenko 2009-07-24
KDEユーザーにとってはFilelightの方が良いのですが、完全性のために(質問のタイトルは一般的なものです)、BaobabはUbuntuに含まれていて、別名Disk Usage Analyzerと呼ばれています
20 Nicolas Raoul 2013-02-18
GUI ツール KDirStat は、表形式とグラフ形式の両方でデータを表示します。スペースの大部分がどこで使われているのか、本当にすぐにわかります
これがまさにあなたが欲しくなかったKDEツールなのかどうかはわかりませんが、それでもこのような質問の中で言及されるべきだと思います。これは良いもので、おそらく多くの人が知らないのではないかと思います – 私自身も最近知ったばかりです
8 Jonik 2009-07-22
コンビネーションはUnixでは常に最高のトリックです
du -sk $(find . -type d) | sort -n -k 1
ディレクトリのサイズをKB単位で表示し、最後に最大のものを表示するようにソートします。 ツリービューは、しかし、いくつかのより多くの燃料を必要とします… それは本当に必要なのでしょうか?
このスキャンはディレクトリ間で入れ子になっているので、上位のディレクトリについては再度サブディレクトリをカウントし、ベースディレクトリ.
は利用率の合計として最後に表示されることに注意してください
しかし、あなたは、特定の深さで検索するために検索の深さのコントロールを使用することができます。 そして、実際にはスキャンにもっと多くのことができるようになります… あなたが何をしたいのかによります。find
と-maxdepth
と-mindepth
の深さ制御は、特定のサブディレクトリの深さに制限することができます
ここに、あなたの arg-to-long 問題の洗練されたバリエーションがあります
find . -type d -exec du -sk {} \; | sort -n -k 1
5 nik 2009-07-21
私はgt5が好きです。ツリーをナビゲートしたり、サブディレクトリを開いて詳細を掘り下げることができます。lynx のようなテキストモードのウェブブラウザを使用して結果を表示します。最良の結果を得るためには、リンクをインストールしてください
3 Paused until further notice. 2009-07-21
このように入れ子になった出力はしてくれませんが、du
を試してみてください
du -h /path/to/dir/
これをDocumentsフォルダで実行すると、以下のように出力されます
josh-hunts-macbook:Documents joshhunt$ du -h
0B ./Adobe Scripts
0B ./Colloquy Transcripts
23M ./Electronic Arts/The Sims 3/Custom Music
0B ./Electronic Arts/The Sims 3/InstalledWorlds
364K ./Electronic Arts/The Sims 3/Library
77M ./Electronic Arts/The Sims 3/Recorded Videos
101M ./Electronic Arts/The Sims 3/Saves
40M ./Electronic Arts/The Sims 3/Screenshots
1.6M ./Electronic Arts/The Sims 3/Thumbnails
387M ./Electronic Arts/The Sims 3
387M ./Electronic Arts
984K ./English Advanced/Documents
1.8M ./English Advanced
0B ./English Extension/Documents
212K ./English Extension
100K ./English Tutoring
5.6M ./IPT/Multimedia Assessment Task
720K ./IPT/Transaction Processing Systems
8.6M ./IPT
1.5M ./Job
432K ./Legal Studies/Crime
8.0K ./Legal Studies/Documents
144K ./Legal Studies/Family/PDFs
692K ./Legal Studies/Family
1.1M ./Legal Studies
380K ./Maths/Assessment Task 1
388K ./Maths
[...]
そして、出力をsort
に配管して並べ替えることができます
du /path/to/dir | sort -n
2 Josh Hunt 2009-07-21
ここでは、それを自動的に行ってくれるスクリプトを紹介します
以下はスクリプトの出力サンプルです
**# sh get_largest_files.sh / 5**
[SIZE (BYTES)] [% OF DISK] [OWNER] [LAST MODIFIED ON] [FILE]
56421808 0% root 2012-08-02 14:58:51 /usr/lib/locale/locale-archive
32464076 0% root 2008-09-18 18:06:28 /usr/lib/libgcj.so.7rh.0.0
29147136 0% root 2012-08-02 15:17:40 /var/lib/rpm/Packages
20278904 0% root 2008-12-09 13:57:01 /usr/lib/xulrunner-1.9/libxul.so
16001944 0% root 2012-08-02 15:02:36 /etc/selinux/targeted/modules/active/base.linked
Total disk size: 23792652288 Bytes
Total size occupied by these files: 154313868 Bytes [ 0% of Total Disc Space ]
*** Note: 0% represents less than 1% ***
このスクリプトは非常に便利で便利です
1 Kam 2012-09-06
各ファイル/ディレクトリのディスク使用率を知ることは有益ですが、ほとんどの場合、ディスク内の最大のファイル/ディレクトリを知ることで十分です
で、私のお気に入りはこれです
# du -a | sort -n -r | head -n 20
そして、出力はこんな感じです
28626644 .
28052128 ./www
28044812 ./www/vhosts
28017860 ./www/vhosts/example.com
23317776 ./www/vhosts/example.com/httpdocs
23295012 ./www/vhosts/example.com/httpdocs/myfolder
23271868 ./www/vhosts/example.com/httpdocs/myfolder/temp
11619576 ./www/vhosts/example.com/httpdocs/myfolder/temp/main
11590700 ./www/vhosts/example.com/httpdocs/myfolder/temp/main/user
11564748 ./www/vhosts/example.com/httpdocs/myfolder/temp/others
4699852 ./www/vhosts/example.com/stats
4479728 ./www/vhosts/example.com/stats/logs
4437900 ./www/vhosts/example.com/stats/logs/access_log.processed
401848 ./lib
323432 ./lib/mysql
246828 ./lib/mysql/mydatabase
215680 ./www/vhosts/example.com/stats/webstat
182364 ./www/vhosts/example.com/httpdocs/tmp/aaa.sql
181304 ./www/vhosts/example.com/httpdocs/tmp/bbb.sql
181144 ./www/vhosts/example.com/httpdocs/tmp/ccc.sql
1 trante 2013-05-15
カレントディレクトリとそのサブディレクトリのトップ25のファイルを検索します
find . -type f -exec ls -al {} \; | sort -nr -k5 | head -n 25
sort -nr -k5″ というパイプコマンドを使って、ファイルのサイズに基づいてソートし、上位25ファイルを出力します
1 xpros 2014-05-29
もう一つの選択肢は、ageduで、これは最後のアクセス時間によってディスクスペースを分解し、スペースを無駄にするファイルを見つけやすくします
一時的なウェブページを提供することで、X Windows のないサーバー上でも動作するので、使用状況をグラフでリモートで分析することができます。サーバーのIPアドレスが192.168.1.101であると仮定して、サーバーのコマンドラインにこれを入力することができます
agedu -s / -w --address 192.168.1.101:60870 --auth basic -R
これにより、ユーザ名、パスワード、「GUI」にアクセスして結果を閲覧できるURLが表示されます。終わったら、サーバ上のagedu
をCtrl+D
で終了させます
1 Bastiaan 2015-04-10
du -chs /*
ルートディレクトリのリストを表示します
0 RusAlex 2010-07-07
もう少しリストを完成させるために、私のお気に入りのディスク使用量解析器を追加しますが、これはxdiskusage
です
GUI は、他の古き良き X ユーティリティを思い起こさせます
$ xdiskusage /usr
0 mpy 2013-08-18
以下のワンライナーを試してみてください(カレントディレクトリ内の最大ファイルのトップ20を表示します)
ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20
または人間が読めるサイズのものを使用します
ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20
OSX/BSD上で正常に動作するための2つ目のコマンド(
sort
には-h
がないので)は、coreutils
からsort
をインストールする必要があります
そのため、これらのエイリアスはあなたの rc ファイルにあると便利です(必要なときにはいつでも)
alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
0 kenorb 2015-03-05