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.


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.


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


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).


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


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


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.


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




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


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.


1

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

ls -lrSh

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.