2011-07-19 6 views
0

ハードドライブがいっぱいです。最も多くのスペースを消費する上位5つのフォルダ?

ほとんどのディスク容量を消費するTOP 5 FOLDERSを見つける最も簡単な方法は何ですか?

python解決策は非常に認められます。私はUbuntu Linuxを使用します。

+0

どのオペレーティングシステムメガバイト、ギガバイトに変換する必要があるともいる? – EdoDodo

+1

なぜディスクの使用状況を分析し、最大のフォルダを表示する多くのアプリケーションをダウンロードしてみませんか? –

+0

これを行う既存のアプリケーションを探しているのですか、それともプログラムで実行しようとしていますか? –

答えて

3

Pythonのソリューションではありませんが、シェルを使用しているのはduです。の/ varの下に、各フォルダ内のキロバイト数を一覧表示する/その後、ソート、最後の最大のものと大きさによって、シェルプロンプトで次のコマンドを実行します。

du -k --max-depth 1 /var/|sort -n 

あなたのpythonの下にこれをしたい場合は、常に超を使用します便利なサブプロセスモジュール:

import subprocess 
p = subprocess.Popen(["/usr/bin/du", "-k", "--max-depth", "1"], stdout=subprocess.PIPE) 
(output, stderr) = p.communicate() 

分割して改行し、次にタブで並べ替えると、結果はPythonになります。

+0

これは非常にUNIX固有の解決策です。これはウィンドウでは機能しません。 – myusuf3

+0

これはどのようにハードリンクを処理しますか?私はシンボリックリンクが無視されていると仮定しています(デフォルトではLinuxのもとでいつものようにですか?) – Voo

+0

Eric、これは完璧です - まさに私が探していたもの – user3262424

0

あなただけの各フォルダのプロパティをチェックし、その中のファイルの合計サイズを探すことができます。 Ubuntuでは、フォルダを右クリックし、プロパティをクリックして内容のサイズを確認してください。 Pythonソリューションではありませんが、はるかに簡単です(答えを見つけるためにすべてのスクリプトが必要というわけではありません)。最大のフォルダは、ツリーの最上位にあるフォルダになりそうです。

+1

笑...それはまさに私が考えていたものです...しかし、トップレベルに400のフォルダがあったらどうなりますか? ... – War

+0

次に、問題は少し難しくなります...ほとんどの人には問題はありませんが、 –

1

シンプルで純粋なPythonのソリューション:

import os 

def get_folder_size(folder_path): 
    folder_size = 0 
    for (path, dirs, files) in os.walk(folder_path): 
     for file in files: 
      filename = os.path.join(path, file) 
      folder_size += os.path.getsize(filename) 
    return folder_size 

def get_file_size(file): 
    return os.path.getsize(file) 

print get_folder_size("/home/magnun") 
print get_file_size("/home/magnun/background.png") 

この機能は、バイト単位のサイズ(ロングタイプ)を返し、あなたはなど

関連する問題