Bagaimana memahami apa yang mengambil ruang disk?

86

Saya mencari alternatif linux untuk WinDirStat . Saya ingin tahu apa yang menghabiskan ruang di hard drive saya.

Program yang berfungsi pada konsol dan tidak memerlukan UI lebih disukai.

ripper234
sumber
ncduadalah jawaban pilihan saya, tetapi saya melihat jawaban pertama mengatakan Anda mengalami masalah dengan itu yang tidak ada dalam pertanyaan Anda.
SDsolar

Jawaban:

74

Berdasarkan masalah Anda dalam menginstal ncdu , rekomendasi saya akan digunakan dudan digunakan sortbersama.

Misalnya:

  • du /home | sort -rn (akan mencari semua file / direktori di bawah / home dan mengurutkannya berdasarkan terbesar ke terkecil.
  • du -h /home | sort -rh(sama tetapi akan ditampilkan dalam MB / KB / dll) - Catatan ini membutuhkan coreutils 7.5 atau lebih baru ( sort --versionuntuk memeriksa)

Anda dapat mengganti / beranda dengan direktori apa pun yang Anda pilih.

NJ
sumber
Itu luar biasa, terima kasih atas bantuannya. Coreutils saya adalah 5.97 - apakah ini mengapa urutan du -h tidak benar?
ripper234
Yap, Anda harus puas du /home | sort -rndengan coreutils 5.97 atau menggunakan beberapa 'sihir' dengan perl dll seperti yang ditunjukkan di ServerFault ( serverfault.com/q/62411/60012 )
NJ
2
OTOH jika ada sub-sub-direktori besar mengasapi nya akan menunjukkan beberapa waktu (untuk dir dan setiap dir induk) di bagian atas hasil, dan IMHO yang mengalihkan perhatian dari mengasapi yang benar. Menggunakan "ncdu" yang disarankan di bawah ini dapat membantu, saya akan mencobanya. =)
lapo
2
Saya menemukan opsi -size untuk "menemukan" berguna juga, karena memungkinkan Anda menemukan semua file di bawah tertentu. Setidaknya untuk menemukan GNU, Anda dapat melakukan sesuatu seperti: "find. -Size + 100M" untuk menemukan file yang lebih besar dari 100M di bawah direktori saat ini.
gabe.
89

Jika Anda menginginkan alat baris perintah, saya lebih suka ncdu , versi ncurses du. Ini memindai disk (atau folder yang diberikan) dan kemudian menunjukkan penggunaan ruang tingkat atas; Anda dapat memilih direktori yang diberikan untuk mendapatkan ringkasan yang sesuai untuk direktori itu, dan kembali tanpa perlu menganalisis ulang:

Tangkapan layar ncdu


Jika Anda setuju dengan program GUI, Filelight adalah hal yang paling dekat dengan WinDirStat yang saya temukan; ini menunjukkan tampilan grafis dari konsumsi ruang:

Cuplikan layar Filelight

Seperti ncdu, Filelight memungkinkan Anda memilih direktori yang diberikan untuk mendapatkan rincian untuk direktori itu

Michael Mrozek
sumber
4
tidakkah Anda berpikir QDirStat lebih dekat dengan WinDirStat?
Janus Troelsen
39

Anda harus menyadari bahwa WinDirStat sebenarnya adalah port dari KDirStat , yang merupakan program Linux / KDE. Jadi, jika Anda mencari alternatif Linux untuk WinDirStat, Anda tentu harus melihat KDirStat . Sudah dikemas di sebagian besar distro, cukup instal.

Alternatif lain adalah FileLight, sudah dikutip oleh Michael Mrozek, dan plugin Konqueror fsview(Anda dapat menjalankannya mandiri dari baris perintah).

Juliano
sumber
16
Wow, saya tidak pernah menyadari bahwa (saya kira "Menang" dalam nama seharusnya menjadi hadiah gratis). Seorang rekan kerja pernah bertanya kepada saya apakah ada versi Linux WinSCP ; Saya mati di dalam sedikit
Michael Mrozek
3
@ komentar sebelumnya. Aduh. Aduh.
David Oneill
2
Perhatikan bahwa itu akan disebut K4DirStat untuk Ubuntu jika menginstal melalui pusat perangkat lunak
y3sh
atausudo apt-get install k4dirstat
y3sh
34

Program GUI lainnya adalah: baobab

teks alternatif

sudobash
sumber
Sebenarnya, jika saya menggunakan Ubuntu saya tidak akan repot-repot mencari alternatif lain. baobapsudah cukup.
phunehehe
Ini juga menunjukkan jumlah file, yang kadang-kadang perlu diperiksa serta ruang disk
golimar
9

Gunakan QDirStat (sebelumnya KDirStat).

Ini mencakup skrip perl yang menghasilkan file cache di server / konsol tanpa perlu menjalankan / menginstal UI; mentransfernya ke mesin desktop Anda dan melihatnya di klien gui.

Lihat https://unix.stackexchange.com/a/256516/186308 untuk detailnya.

icyerasor
sumber
itu sangat cepat. alat yang sangat bagus
phil294
7

Saya lebih suka baris perintah berikut:

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

Memecahnya, dumenunjukkan penggunaan disk; -smengatakan cetak total untuk setiap argumen (setiap item dalam direktori saat ini), -mkata menunjukkan ukuran dalam Megabytes. Ini memudahkan sortir untuk bekerja; sort tidak benar-benar mengerti -houtput. The -xmengabaikan filesystem lain; ini berguna ketika mencoba menemukan space hogs /var, dan /var/spool/foomerupakan sistem file yang berbeda.

P. Joslin
sumber
Bukankah jawaban atas sudah digunakan du?
muru
Ya, tetapi du / home pada sistem saya mengembalikan puluhan ribu file; Saya jarang peduli apa (katakanlah) 100 terbesar dari file-file itu; Saya biasanya ingin tahu subdirektori mana yang paling banyak mengambil ruang.
P Joslin
Alih-alih, saya tentukan --max-depth = 2, karena saya ingin membuka satu direktori dari direktori root, tetapi jawaban Anda menunjuk saya ke arah itu. Terima kasih!
John Eisbrener
6

Ada juga skrip python keren ini dari /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

Ini bukan fitur yang paling kaya, tetapi dijalankan dari satu skrip python sehingga sangat portabel.

teks alternatif

Falmarri
sumber
6

Jika Anda melihat layar tentang di windirstat itu menunjukkan kepada Anda bahwa itu didasarkan pada kdirstat.

http://kdirstat.sourceforge.net/

DF1eCH
sumber
Saya suka jawabannya - tetapi bisakah Anda menambahkan beberapa konteks atau detail?
Volker Siegel
4

Anda juga dapat mencoba GD Map , alat GUI lain berdasarkan treemaps.

Bruno
sumber
3

xdiskusage sangat fleksibel, ringan dengan dependensi sangat ramping, mudah dikompilasi ..

Ini menunjukkan pohon kiri-ke-kanan yang dapat Anda navigasikan dengan tombol mouse atau panah, memperbesar (klik atau masuk), menyembunyikan beberapa bagian untuk tampilan yang lebih baik, mengubah urutan pengurutan, jumlah warna dll dengan tombol atau menu konteks.

Ini sangat lighweight sehingga Anda dapat menggunakannya pada tautan SSH jarak jauh dengan kinerja yang baik. Dalam hal ini saya merekomendasikan -qopsi baris perintah untuk menonaktifkan bilah kemajuan yang muncul saat file berjalan.

Anda juga dapat menjalankan dusendiri secara opsional .

Satu situasi adalah sistem file jarak jauh yang penuh atau hampir penuh. Pada sistem yang dijalankan du -ak | gzip >log_of_disk_usage.txt.gz, ambil output dan jalankan gzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqsecara lokal.
Atau bahkan ssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gzuntuk menyimpan hasilnya secara lokal tanpa menulis apa pun dari jarak jauh.

xdiskusage tidak menawarkan untuk memodifikasi sistem file (seperti pindah ke tempat sampah, dll) tetapi Anda dapat menyalin path ke clipboard dan menempelkannya ke file manager, terminal dll.

tangkapan layar xdiskusage

Stéphane Gourichon
sumber
2

Saya baru-baru ini menggunakan alat baris perintah (CLI, bukan TUI): http://zevv.nl/play/code/philesight/

Ini menghasilkan file PNG yang dapat Anda lihat di tempat lain. Ini juga memiliki skrip CGI.

Kemungkinan besar Anda tidak terbatas pada mode teks di workstation lokal Anda, jadi itu harus sesuai.

OCTAGRAM
sumber
1

Juga untuk melihat file dalam direktori tertentu yang diurutkan berdasarkan ukuran setelah Anda menemukan direktori tersebut menggunakan du use:

ls -lrSh
Wodin
sumber
1

Duc ( https://duc.zevv.nl/ ) akan berfungsi dari baris perintah.

Itu dapat diinstal dan digunakan seperti ini di Debian 9:

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

Dengan ini, Anda akan mendapatkan file bernama duc.pngdi direktori saat ini. Sekarang, Anda dapat menyalin file ini ke komputer berkemampuan GUI lain dan akan terlihat seperti ini: duc.png

CATATAN: Duc adalah pengganti alat yang @OCTAGRAM sebutkan dalam jawabannya.

Jaime Hablutzel
sumber