Bagaimana cara menganalisis penggunaan disk di linux command line?

99

dudan dfbagus, tapi saya tidak tahu cara memfilter data yang mereka berikan seperti yang saya lakukan dengan SequoiaView . Saya ingin tahu folder mana yang terbesar dan file terbesar dalam sekejap.

Jader Dias
sumber
Apakah kamu sudah trued ncdu?
SDsolar

Jawaban:

141

Anda mungkin juga ingin mencoba Penggunaan Disk NCurses alias ncdu.

Gunakan seperti ncdu -x -qjika Anda memintanya dari jarak jauh (mis. Via ssh) dan ncdu -xsebaliknya.

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

Ini juga tersedia di Mac OS X.

Bendera berikut ke baris perintah mungkin membantu:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

Terima kasih kepada Sorin Sbarnea.

heinrich5991
sumber
1
Tersedia di OS X juga, melalui minuman. Mungkin ide yang baik untuk menyebutnya menggunakanncdu -x -q
sorin
1
luar biasa! pilihan terbaik bagi saya adalah ncdu -q, bahkan dalam ssh.
Valter Silva
46

Gunakan beberapa kombinasi perintah dan opsi:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

untuk melihat hanya beberapa yang terbesar. Jika Anda ingin sering menggunakannya, ikat ke alias, mis. Dalam bash dengan menambahkan ke ~ / .bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'
Jaap Eldering
sumber
2
Untuk melihat beberapa terbesar , Anda perlu -ropsi pada sortir.
RedGrittyBrick
1
Saya mengirimkan saran @RedGrittyBrick dan pengalihan kesalahan ke /dev/nullsebagai edit yang harus disetujui.
Jader Dias
Saya juga akan menggunakan du -Hopsi, tetapi itu merusak sortperilaku
Jader Dias
2
@ jumpnett: ini mengarahkan ulang standard error(dalam hal ini ke dalam lubang hitam itu /dev/null).
Jaap Eldering
3
Anda bisa menggunakan sort -huntuk mengurutkan nilai dengan sufiks yang dapat dibaca manusia.
allo
4

Anda mungkin mau xdu.

du -ax | xdu -n

Ada juga Filelight berbasis KDE yang lebih canggih .

Teddy
sumber
3

Saya biasanya menggunakan

du -hsc * | sort -h

Apa arti setiap opsi untuk du:

  • h: tampilkan ukuran dalam format yang dapat dibaca manusia (1K, 1M, 1G, ...)
  • s: merangkum: hanya menampilkan total untuk setiap argumen
  • c: juga menampilkan jumlah total

The -hpilihan pada sortmembuatnya memahami -hformat yang (dapat dibaca manusia) di du. Opsi ini relatif baru aktif sort, jadi mungkin sistem Anda tidak mendukungnya dan memaksa Anda untuk menggunakannya du -sc | sort -n.

Jika Anda melakukannya pada mesin jarak jauh dan prosesnya memakan waktu lama, Anda mungkin ingin menjalankan proses ini berlatar belakang atau di dalam screenatau sesuatu yang serupa untuk mencegah kehilangan koneksi.

emi
sumber
3

Saya ingin merekomendasikan dutree , yang menawarkan visualisasi hirarki.

Anda dapat memilih level detail lebih banyak atau lebih sedikit, dan mengecualikan jalur untuk kontrol visualisasi yang lebih baik. Anda juga dapat membandingkan jalur yang berbeda.

masukkan deskripsi gambar di sini

Ini diterapkan dalam Karat, cepat dan efisien.

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number
nachoparker
sumber
1
du -h 2> /dev/null | sort -hr | head -n20

du -h memberikan perkiraan daftar ruang disk yang dapat dibaca manusia dengan total
2> / dev / null menekan setiap kesalahan seperti akses baca ditolak
sort -jr mengurutkan ukuran file yang dapat dibaca manusia dalam urutan terbalik -
-20 mengurangi daftar menjadi 20

Ketahuilah bahwa direktori akses baca file dan file dikecualikan

DB
sumber