GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan file besar linux dengan perintah find dan du

Perintah Linux find dan du akan datang untuk menyelamatkan Anda.

Menggunakan perintah du

du Perintah ini digunakan untuk memperkirakan penggunaan ruang file pada sistem Linux. Ini menunjukkan informasi penggunaan disk.

Mari gunakan du untuk memeriksa isi /boot :

# du
0   ./efi/EFI/centos
0   ./efi/EFI
0   ./efi
2400    ./grub2/i386-pc
3176    ./grub2/locale
2504    ./grub2/fonts
8096    ./grub2
4   ./grub
250556  .

Nilai di paling kiri adalah penggunaan disk, diikuti oleh direktori khusus yang bertanggung jawab untuk penggunaan itu. Baris bawah adalah ringkasan dari seluruh /boot/ direktori.

Berikut adalah daftar du yang penting pilihan

  • -h , --human-readable mencetak keluaran ukuran dalam format yang dapat dibaca manusia.
  • -s , --summarize dapat digabungkan dengan -h dapatkan ringkasan penggunaan direktori dalam format yang dapat dibaca manusia.
  • -a , --all daftar ukuran semua file dan direktori di jalur file yang diberikan. Anda dapat menggabungkan dengan -h

Sekarang dalam kasus kami, kami ingin mengajukan penggunaan ruang dan untuk memeriksa yang terbesar terlebih dahulu, kami dapat mengurutkannya menggunakan sort memerintah. Jika kita ingin membatasi hasil kita, head perintah akan berguna,

Mendapatkan file terbesar dengan du :

du -a / | sort -n -r | head -n 20

Perintah di atas menggunakan du untuk mendapatkan penggunaan disk, kemudian konten disalurkan untuk diurutkan, lalu head hanya akan menampilkan 20 item pertama.

Keluaran:

# du -a / | sort -n -r | head -n 20

du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216    /
38679004    /var
38558036    /var/log
38486524    /var/log/asterisk
18136900    /var/log/asterisk/full.prod-asterisk
15786756    /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300  /home/centos
635300  /home
634528  /home/centos/debug.prod-asterisk
490704  /tmp
480260  /tmp/pip.log
403512  /opt/instana/agent
403512  /opt/instana

Sering kali Anda akan mendapatkan beberapa kesalahan sebelum Anda mendapatkan daftar file besar. Ini sering kali berasal dari file yang tidak boleh Anda akses atau keluaran stderr apa pun. Gunakan 2>/dev/null untuk mengabaikan yang seperti dalam perintah ini:

du -a / 2>/dev/null | sort -n -r | head -n 20

Menggunakan perintah find

Anda dapat menggunakan find perintah untuk menargetkan hanya file dalam pencarian dan menemukan ukuran masing-masing, lalu gunakan kombinasi sort dan head untuk menyaring konten.

Contoh:

find / -type f -printf '%s %p\n' | sort -nr | head -10

Perintah di atas mencari semua file dalam sistem, kemudian mencetak ukuran dan jalur menggunakan %s and %p arahan. Hasilnya kemudian disalurkan untuk mengurutkan filter dari yang terbesar ke yang terkecil kemudian head akan membatasi hingga 10 hasil. -n adalah untuk pengurutan numerik dan -r diteruskan untuk mengurutkan akan membalikkan hasil perbandingan.

Keluaran:

# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive

Kesimpulan

Dari penjelasan di atas, Anda telah mempelajari cara mendapatkan file dan direktori terbesar dan terbesar di Linux. Kami juga mempelajari cara menggunakan sort perintah untuk mengurutkan output yang dikembalikan dan head perintah untuk hanya membatasi hasil ke nomor yang kami tentukan.

Untuk memeriksa lebih lanjut tentang perintah yang kami gunakan, jangan ragu untuk menggunakan halaman manual. Gunakan perintah ini:

man du  
man find  
man sort  
man head  
man tail

Linux
  1. Cara Menemukan File dengan Perintah fd di Linux

  2. Cara Menyalin / Memindahkan File dan Direktori di Linux dengan perintah "cp" dan "mv"

  3. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?

  1. Temukan file dan direktori di Linux dengan perintah find

  2. Cara Menemukan File Dengan Izin SUID dan SGID di Linux

  3. Temukan File dengan Perintah Temukan dan Temukan di Linux

  1. Linux menemukan perintah

  2. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  3. Bagaimana cara chmod dan chown file tersembunyi di Linux?