* nixのすべてのスペースを使用しているものを見つける


21

すべてのサブディレクトリを含む特定のディレクトリから始まるファイルが最大のコマンドのシーケンスを教えてください。すべてのスペースがどこに行ったのか知りたい。

できれば、通常のunix'yコマンドを使用してください。

可能であれば、Sun OS 5.10との互換性を保ってください(可能な限り一般的なものにするために、代替としてではなく、通常のLinuxの回答に加えてください)。


SUに2票、SFに2票があります。どちらが適切ですか?私の意見では、これはどちらかに属する可能性があります。
mmyers 2009

5
@mmyers:SUに渡した... SUには本当の質問が必要だ!
Shog9

1
しかし、SUにはすでに非常によく似た質問があります!superuser.com/questions/9847/...
Jonik

回答:


11

個人的にdu -sh *は、現在のディレクトリ内の各ディレクトリの大きさを確認するのに使用します。

また、大きいフォルダーを最初に並べ替えることができますdu -shx * | sort -hr。のためにdu

  • -s, --summarize:各引数の合計のみを表示します
  • -h, --human-readable:人間が読める形式でサイズを印刷(例、1K 234M 2G)
  • -x, --one-file-system:異なるファイルシステム上のディレクトリをスキップする

のためにsort

  • -h, --human-numeric-sort:人間が読める数字を比較する(例:2K 1G)

これは、実際にはマイナーなmodで本当に便利です:du -s * | sort -nr
アレックスブドフスキー

5
を使用すると、人間が読める形式でファイルサイズを維持できますdu -sh * | sort -hr
ホルヘイスラエルペニャ14

du -shx * | sort -hr良いですが、現在のディレクトリのみを返します。このシステム全体でどのようにすればよいですか?そして、どのように100MB未満のすべてを除外できますか?ありがとう。
tem

それはシェルでの呼び出し次第です。だから、*それは、現在のディレクトリ内のすべてに適用させるものですが、同じように簡単に例えばということを変えることができるsome/other/path/*、またはあなただけの全体として単一のディレクトリにそれを実行したい場合は、省略する*グロブパターンを。除外することに関しては、おそらく別の質問をしてください。
ホルヘイスラエルペニャ

システム全体で再帰的に実行するにfindは、ディレクトリルートでペアにし、その-execパラメーターを使用してを呼び出すことができますdufindプログラム自体は、おそらくのようなもので、ファイルサイズに基づいてフィルタリングすることができますsize +100Mこの質問をご覧ください。たぶんのようなものですがfind / -size +100M -exec du -sh {} \; | sort -hr、それはテストされていません。
ホルヘイスラエルペニャ

13

NCDU

CLI、ncursesベース、高速、簡単です。でインストールし sudo apt install ncduます。

ここに画像の説明を入力してください


5

基本的に、duコマンドを使用できます。このようなもの

du -a /home | sort -rn |head -1

その他のオプションについては、manページまたはinfo duをご覧ください。

または、GNU findを使用できます。

find /home/ -type f -printf "%s:%p\n" | sort -t":" -rn| head -1  

Sun OS 5.10の「find」には、-printfに使用できる代替手段がありますか?
アレックスブドフスキー2009

また、ディレクトリを除外する最初のコマンド(du ...)を取得する方法はありますか?2番目のコマンドのように、ファイルにのみ本当に興味があります。
アレックスブドフスキー2009

5

コマンドラインではなく、まだunix'y:kdirstat

私はそれを使ってすべてのスペースがどこに行ったのかを見つけ、Disk Usage Analyzer(別名Baobab)よりもずっと気に入っています。私のGNOME環境で許容される数少ないKDEアプリの1つです;-)

ここに画像の説明を入力してください

kdirstat.sourceforge.netによると、Solaris上で実行されます。

KDirStatはKDEプログラムですが、すべてのX11デスクトップで正常に実行されます。つまり、Linux、BSD、および他の多くのUnixタイプシステム(Solaris、HP-UX、AIXなど)で実行されます。


Ubuntuの場合:k4dirstatおよびqdirstat。最後の1つが最新です。私は、彼らが削除フォルダに許可していないことのように
develCuy

3
du -a | sort -n

仕事をするだろう。バオバブを使用すると(gnome utilsの一部であるため、システムに既にインストールされている可能性があります)、使用済み領域のグラフィカルな内訳が表示されます。


-nの代わりに-gを使用する理由は何ですか?「このオプションは、代替手段がない場合にのみ使用してください。--numeric-sort(-n)よりはるかに遅く、浮動小数点に変換するときに情報を失う可能性があります。 " gnu.org/software/coreutils/manual/html_node/…
ここから

@therefromhere:マンページを使用しましたが、リンク先のサイトほど冗長ではありません。特定のケースで機能する最初のオプションを選択しました。しかし、あなたは正しい。アンサーを編集しました。ありがとう!
balpha 09

3

ディスク使用状況アナライザー

Debian / Ubuntuベースのディストリビューションを使用している場合、リポジトリで使用可能なGUIがいくつかあり、それらはsynapticを使用して見つけることができます。

ここに画像の説明を入力してください


3
du . -ha | sort -hr
  • -a, --all:ディレクトリだけでなく、すべてのファイルのカウントを書き込む
  • -h, --human-readable:人間が読める形式でサイズを印刷(例、1K 234M 2G)

1
そのコマンドを非常に面白い発音ができるという事実を見つけました。それも面白いですね。
09

2
-1、これは間違っています。duコマンドの「-h」は、ソートを中断します。
ここから

1
それは間違いではなく、単にポータブルではありません。-hはGNUismです。代わりに、Sun OSで-kを使用してください。
ルートヴィヒワインツィール

+ルートウィグ私はあなたが理解したとは思わない。-hを追加すると、人間が読めるようになります。したがって、sortコマンドで使用できる数値ではなくなります。たとえば、次のように分類されます。「760K 784M 788K 860K 944K 985M」du -ha | sort -hrまたはdu -ha | gsort -hr(osxではコアutilsをインストールした後)
Gerry


2

ミッドナイトコマンダー

素敵なGUIとナビゲーションオプションを使用してリストを出力する場合は、Midnight Commanderをインストールし(mcほとんどのパッケージマネージャーで)、コマンドメニューの[ディレクトリサイズの表示]をオンにします。Ctrl+ することもできますspace

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.