disk space – 最大のファイル/ディレクトリを見つける Linux ユーティリティ

disk-space linux
クローズドです。この質問はオフトピックです。現在は回答を受け付けていません。

この質問を改善したいですか? スーパーユーザーのためのon-topicになるように質問を更新してください。

クローズド 5年前

ロックされていますこの質問とその回答は、lockedとなっています。現在、新しい回答やインタラクションは受け付けていません。

私は、どのファイル/ディレクトリが最もスペースを占有しているかを表示するプログラムを探しています

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がとても気に入っています。今まで見てきた他のどのスペース管理ツールよりも直感的に操作できます

Filelight screenshot

23  Anton Geraschenko  2009-07-24


KDEユーザーにとってはFilelightの方が良いのですが、完全性のために(質問のタイトルは一般的なものです)、BaobabはUbuntuに含まれていて、別名Disk Usage Analyzerと呼ばれています

enter image description here

20  Nicolas Raoul  2013-02-18


GUI ツール KDirStat は、表形式とグラフ形式の両方でデータを表示します。スペースの大部分がどこで使われているのか、本当にすぐにわかります

enter image description here

これがまさにあなたが欲しくなかった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 のようなテキストモードのウェブブラウザを使用して結果を表示します。最良の結果を得るためには、リンクをインストールしてください

alt text

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


ここでは、それを自動的に行ってくれるスクリプトを紹介します

http://www.thegeekscope.com/linux-script-to-find-largest-files/

以下はスクリプトの出力サンプルです

**# 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が表示されます。終わったら、サーバ上のageduCtrl+Dで終了させます

1  Bastiaan  2015-04-10


du -chs /*

ルートディレクトリのリストを表示します

0  RusAlex  2010-07-07


もう少しリストを完成させるために、私のお気に入りのディスク使用量解析器を追加しますが、これはxdiskusageです

GUI は、他の古き良き X ユーティリティを思い起こさせます

$ xdiskusage /usr

enter image description here

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


タイトルとURLをコピーしました