Bagaimana saya bisa menemukan direktori terbesar di unix / Ubuntu?

34

Apakah ada cara di Unix untuk melihat direktori terbesar di disk?

Saya perlu tahu mengapa saya hampir selesai dengan ruang di server, dan saya tidak tahu di mana sebagian besar ruang digunakan ..

Terima kasih

aneuryzm
sumber
2
kemungkinan duplikat Temukan direktori / file terbesar secara rekursif
Dijeda hingga pemberitahuan lebih lanjut.
Inilah yang bagus: unix.stackexchange.com/questions/4681/… - dikatakan untuk digunakan du | sort -hkemudian gunakan tail- atau, Anda dapat menggunakan sort -rhsehingga yang terbesar ada di awal dan Anda dapat menggunakannya moreuntuk melihatnya. Ini berfungsi dengan baik di Ubuntu 16.04 LTS pada bulan Agustus 2017.
SDsolar

Jawaban:

54

Coba: du --max-depth=7 /* | sort -n- ini tidak hanya memberi tahu Anda direktori, dan akan ada duplikat, tetapi akan mencantumkan semuanya 7 level dalam dan mengurutkannya berdasarkan urutan ukuran.

James L
sumber
13
7 level sekaligus mungkin luar biasa. Saya akan mulai dengan --max-depth=0(atau lebih tepatnya, menggunakan --summarize/ -s), dan kemudian menelusuri ke direktori terbesar dengan tangan.
Steven Monday
Poin baiknya, cukup pilih nomor itu karena sejauh itulah biasanya saya berakhir sebelum saya menemukan sesuatu yang bermanfaat.
James L
3
bagaimana du -cs * | sort -ndengan gambaran umum direktori mana yang lebih besar?
lorenzog
Saya lebih suka:du -ch | sort -nr | head -10
Sklavit
47

Alat favorit saya untuk tugas ini adalah ncdu .

layar contoh ncdu

halp
sumber
3
Bagus. Ini bekerja cukup banyak cara saya akan melakukannya dengan tangan (dengan du | sort), tetapi dengan CARA kurang mengetik.
Steven Monday
Ini jauh lebih baik. cukup instal ncdu dan ketik perintah ncdu pada direktori yang ingin Anda analisis, kerjanya sangat cepat.
Jamol
6

Saya menyarankan Anda untuk menggunakan baobab , yang akan memberi Anda gambaran grafis penggunaan disk Anda. Ini juga dapat digunakan untuk folder jarak jauh (melalui ssh, ftp, ...) untuk memindai penggunaan disk pada server jarak jauh misalnya.

Sunting: Jika Anda ingin menyelidiki penggunaan disk secara langsung di server dengan akses shell Anda dan tidak dari jarak jauh, dan Anda menginginkan alat yang lebih nyaman daripada du, Anda juga dapat mencoba dengan durep yang akan menghasilkan laporan penggunaan disk dengan grafik batang.

uloBasEI
sumber
keren, tapi saya hanya punya akses shell di VPS (RAM rendah)
aneuryzm
3

Saya biasanya menggunakan sesuatu seperti ini:

du -ch / | sort

Anda dapat menerapkan batasan kedalaman menggunakan --max-depth = jika Anda tidak ingin melihat melewati level tertentu dari target Anda, seperti:

du -ch --max-depth=4 /

sumber
0

Coba df& du -sh /. Dan secara rekursif du -sh. Bukan solusi terbaik sekalipun.


sumber
0

Sesuatu seperti

sudo du / | semacam -n

Akan memberi Anda jawaban cepat (entri terakhir adalah file / direktori terbesar)

NJ
sumber
2
Tentukan cepat? Dalam pengalaman saya, ini biasanya memakan waktu setidaknya 5-10 menit.
James L
0

# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt

LawrenceC
sumber
0

Saya selalu menggunakan sintaks seperti

du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20.

parameter max-depth dan head dapat bervariasi, tentu saja, tetapi di atas akan berisi 20 direktori terbesar.

Janne Pikkarainen
sumber
0

Saya secara teratur berjalan du -dak > du-dak.outdi bagian atas setiap sistem file. Lalu, saya bisa mendapatkan tampilan grafis denganxdu < du-dak.out . Ini dapat dilakukan dari jarak jauh setelah mentransfer file du-dak.out melalui jaringan jika Anda hanya memiliki akses teks.

http://sd.wareonearth.com/~phil/xdu/

Jlliagre
sumber