大きなファイルを処理するために設計されたDVCSgitの拡張機能であるgit-annexを使用しています。シンボリックリンクを多用します。実際の大きなファイルは.git/annex
ディレクトリに移動され、元のファイルはそこにシンボリックリンクされます。
ディスク容量が不足しているので、空き容量を増やして、すべての容量を使用しているものを確認する必要があります。通常、私はncdu
、Baobab、Filelightなどのディスク使用ツールを使用します。ただし、シンボリックリンクは基本的に空として扱われ、ポイントしているファイルのみが任意のスペースを使用していると見なされます。つまり、git-annexを使用すると、メインディレクトリで使用されているスペースがなく、.git/annexディレクトリで使用されているスペースがたくさん表示されます。これは役に立ちません。
Linux用の(グラフィカルまたはncurses)ベースのディスク使用プログラムはありますか(apt-get installableは、元のファイルが使用するスペースを使用しているとしてシンボリックリンクをカウントできる(オプションを使用するかどうかに関係なく)簡単です?多くのオプションがありますハードリンクのさまざまな動作については、
(スペースを使用することでシンボリックリンクをカウントすることには、スペーススペースを2回カウントする、シンボリックリンクが壊れているなどの欠陥があることを知っています。しかし、私の目的では問題ありません)
GNU duには--dereferenceオプションがあり、ディスク使用量を計算するときにシンボリックリンクを逆参照します。ただし、duは、同じスペースを2回カウントすることを拒否します。これは、状況によっては大きな問題になる可能性があります。
% mkdir foo bar baz
% dd if=/dev/zero of=foo/test bs=1024 count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB) copied, 0.0176239 s, 581 MB/s
% (cd bar; ln -s ../foo/test)
% (cd baz; ln -s ../foo/test)
% du -hc bar baz
4.0K bar
4.0K baz
8.0K total
% du -hc --dereference bar baz
9.8M bar
4.0K baz
9.8M total
ただし、同じターゲットへの複数のシンボリックリンクがない場合は、-dereferenceが必要な処理を実行すると思います。
現在、git-annexにはこの問題に対する独自の解決策があります。使用できます:
git annex info --fast *
...実際のディスク使用量(およびそれ以上)をファイルから直接git-annexから取得します。また、リモートリポジトリで動作することもできます。これは非常に便利です。
git annex info --fast --not --in here .
...たとえば、現在のリポジトリにあるnotのデータ量がわかります。
私もこれで ncd を使用しました 小さなパッチ 良い結果が得られました。
これについて議論しているアップストリームフォーラムは "du"は別館に相当しますか? であり、du -L
、 gad 、 sizes などの提案があります。それはここの他の回答で言及されました。
Linux用の(グラフィカルまたはncurses)ベースのディスク使用プログラムはありますか(apt-get installableは、元のファイルが使用するスペースを使用しているとしてシンボリックリンクをカウントできる(オプションを使用するかどうかに関係なく)簡単です。
TL; DR:du -akL mydirectory | xdiskusage -aq
私も git-annex を使用しており、同じニーズがあります。
GNU du
ほとんどのGNUツールには 多くのオプション があります。
‘-l’ ‘-間接参照’
シンボリックリンクを逆参照します(リンクが使用するスペースの代わりに、リンクが指すファイルまたはディレクトリが使用するディスクスペースを表示します)。
さらに、 xdiskusage という名前の優れた軽量のディスク使用量表現ツールがあります。
完全にグラフィカルに使用できます。フォルダを選択するか、完全なファイルシステムを選択して空き領域の表現を含めます。クリックして、矢印とEnterキーを使用して、ツリー表示を拡大し、いくつかのサブツリーを非表示にすることができます。リモートディスプレイでも、非常に実用的で、シンプルで、迅速です。
du -ak
と同様にdu呼び出しの結果をフィードすることもできるNiceプロパティがあります。
だから、あなたはすることができます:
du -akL mydirectory | xdiskusage
私はいつもこのバリアントを使用します。-a
は(ディレクトリだけでなく)すべてのファイルを表示することを意味し、-q
は進行状況スライダーを削除することですべてをはるかに高速にします。
du -akL mydirectory | xdiskusage -aq
http://xdiskusage.sourceforge.net/ からの画像BillSpitzakによる。
apt-get installable
DebianおよびUbuntuを含む派生物:
Sudo apt-get install coreutils xdiskusage
(あなたは間違いなくすでにcoreutilsをインストールしています。)