ディスク容量を占有しているものを理解する方法は?


86

WinDirStatの代替Linuxを探しています。ハードディスクのスペースを占有しているものを知りたいです。

コンソールで動作し、UIを必要としないプログラムが推奨されます。


ncdu私の好みの答えですが、最初の答えは、あなたの質問にはない問題があるということです。
SDsolar

回答:


74

で、あなたの問題に基づいてncduインストール私の推薦を用いることであろうdusort、一緒に。

例えば:

  • du /home | sort -rn (/ homeの下のすべてのファイル/ディレクトリを検索し、最大のものから最小のものに並べ替えます。
  • du -h /home | sort -rh(同じですが、MB / KB / etcで表示されます)-これにはcoreutils 7.5以降が必要であることに注意sort --versionしてください(確認するには)

/ homeを任意のディレクトリに置き換えることができます。


それは素晴らしい、助けてくれてありがとう。私のcoreutilsは5.97です-これがdu -hのソート順が正しくないのはなぜですか?
ripper234

はいdu /home | sort -rn、coreutils 5.97で解決するか、ServerFault(serverfault.com/q/62411/60012)で実証されているようにperlなどで「マジック」を使用する必要があります
NJ

2
OTOHは、大きなサブサブディレクトリがある場合、その膨張が結果の上部に複数の時間(そのディレクトリと各親ディレクトリ)を表示し、IMHOは真の膨張をそらします。以下で提案されている「ncdu」を使用すると、それを助けることができます、私はそれを試してみます =)
lapo

2
特定の配下のすべてのファイルを見つけることができるので、「見つける」ための-sizeオプションも役立ちます。少なくともGNU findの場合、「find。-size + 100M」のようなことを実行して、現在のディレクトリの下の100Mを超えるファイルを検索できます。
ガベ。

89

コマンドラインツールが必要な場合は、ncursesバージョンのncduをお勧めしduます。ディスク(または指定されたフォルダー)をスキャンし、トップレベルのスペース使用量を表示します。特定のディレクトリを選択して、そのディレクトリに対応する概要を取得し、再分析することなく戻ることができます。

ncduのスクリーンショット


GUIプログラムで大丈夫なら、Filelightは私が見つけたWinDirStatに最も近いものです。スペース消費のグラフィカルビューを示します。

Filelightのスクリーンショット

同様にncdu、Filelightでは特定のディレクトリを選択して、そのディレクトリの内訳を取得できます。


4
QDirStatWinDirStatに近いと思いませんか?
ヤヌストロエルセン

39

WinDirStatは、実際にはLinux / KDEプログラムであるKDirStatのポートであることに注意してください。したがって、WinDirStatに代わるLinuxを探しているなら、確かにKDirStatを見てください。ほとんどのディストリビューションで既にパッケージ化されています。インストールするだけです。

もう1つの選択肢は、Michael Mrozekが既に引用しているFileLightとKonquerorプラグインですfsview(コマンドラインからスタンドアロンで実行できます)。


16
うわー、私はそれに気づきませんでした(名前の「勝利」は景品だったはずです)。同僚がLinuxバージョンのWinSCPがあるかどうか尋ねてきました。私は少し内側に死亡した
マイケルMrozekは

3
@前のコメント。痛い。ただ痛い。
デビッドオニール

2
ソフトウェアセンター経由でインストールする場合、UbuntuではK4DirStatと呼ばれることに注意してください
y3sh

またはsudo apt-get install k4dirstat
y3sh

34

別のGUIプログラム:baobab

代替テキスト


実際、Ubuntuを使用している場合は、代替手段を探す必要はありません。baobapちょうど十分です。
プネヘヘ

また、ファイルの数も表示されます。これは、ディスクスペースと同様に時々チェックする必要があります
-golimar

9

QDirStat(以前のKDirStat)を使用します。

UIを実行/インストールする必要なく、サーバー/コンソールにキャッシュファイルを生成するperlスクリプトが含まれています。デスクトップマシンに転送して、GUIクライアントで表示します。

詳細については、https://unix.stackexchange.com/a/256516/186308を参照してください。


途方もなく高速です。非常に素晴らしいツール
phil294

7

私は次のコマンドラインを好む:

$  du -s -m -x * | sort -n

分類すると、duディスクの使用量が表示されます。-s各引数(現在のディレクトリ内の各アイテム)の合計を-m表示し、サイズをメガバイト単位で表示します。これにより、ソートが簡単に機能します。sortは-h出力を実際に理解しません。-x他のファイルシステムを無視します。これは/var、で領域を占有しようとするときに便利/var/spool/fooで、別のファイルシステムです。


トップアンサーはすでに使用していませんduか?
ムル14

はい。ただし、私のシステムのdu / homeは何万ものファイルを返します。それらのファイルの(たとえば)最大100が何であるかはほとんど気にしません。通常、どのサブディレクトリが最もスペースを占有しているかを知りたいです。
Pジョスリン14

-sの代わりに--max-depth = 2を指定しました。ルートディレクトリから1つ下のディレクトリに移動したかったのですが、答えはその方向を示していました。ありがとう!
ジョンEisbrener

6

/www.vrplumber.com/programming/runsnakerun/からこのクールなpythonスクリプトもあります。

bzr branch lp:~mcfletch/squaremap/trunk squaremap

豊富な機能を備えているわけではありませんが、単一のpythonスクリプトから実行されるため、非常にポータブルです。

代替テキスト




3

xdiskusageは非常に柔軟で軽量であり、依存関係が非常に少ないため、コンパイルが容易です。

ツリーは左から右に表示され、マウスまたは矢印キーでナビゲートしたり、ズームイン(クリックまたは入力)、見やすくするために一部を非表示にしたり、キーやコンテキストメニューで並べ替え順序、色数などを変更したりできます。

非常に軽量であるため、パフォーマンスの良いリモートSSHリンクで使用できます。この場合-q、ファイルの移動中に表示される進行状況バーを無効にするコマンドラインオプションをお勧めします。

オプションでdu事前に自分で実行することもできます。

1つの状況は、フルまたはほぼフルのリモートファイルシステムです。そのシステムrun du -ak | gzip >log_of_disk_usage.txt.gzで、出力を取得してgzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqローカルで実行します。
またはssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gz、リモートで何も書かずに結果をローカルに保存することもできます。

xdiskusage ファイルシステムの変更(ゴミ箱への移動など)は提供しませんが、パスをクリップボードにコピーしてファイルマネージャー、ターミナルなどに貼り付けることができます。

xdiskusageスクリーンショット


2

最近、コマンドラインツール(TUIではなくCLI)を使用しました:http : //zevv.nl/play/code/philesight/

他の場所で表示できるPNGファイルが生成されます。CGIスクリプトもあります。

ほとんどの場合、ローカルワークステーションでテキストモードに制限されていないため、適切なはずです。


1

また、du useを使用してディレクトリを見つけた後、サイズでソートされた特定のディレクトリ内のファイルを表示するには:

ls -lrSh

1

Duc(https://duc.zevv.nl/)はコマンドラインから機能します。

Debian 9では次のようにインストールして使用できます。

# apt install duc
# duc index /
# duc graph /

これによりduc.png、現在のディレクトリに名前が付けられたファイルが取得されます。これで、このファイルを別のGUI対応コンピューターにコピーでき、次のようになります。 duc.png

注:Ducは、@ OCTAGRAMが回答で言及したツールの代替品です。

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