Bagaimana cara menampilkan penggunaan disk berdasarkan jenis file?


9

Pada dasarnya saya bertanya-tanya di mana semua ruang disk saya sedang dimakan di drive saya dan saya ingin dapat menganalisis berdasarkan tipe file

Sebagai contoh, saya ingin menggunakan Terminal untuk melihat seberapa banyak ruang yang digunakan oleh .psdfile di drive saya.

Apakah ada cara untuk melakukan hal seperti itu?

Jawaban:


12

Coba ini:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' menemukan semua file yang diakhiri dengan ekstensi psd
  • -print0 mencetak nama file diikuti oleh karakter nol dan bukan baris baru
  • | du -ch --files0-from=-mengambil nama file dari finddan menghitung penggunaan disk. Opsi memberi tahu du:
    • menghitung penggunaan disk dari nama file yang dipisahkan oleh karakter nol dari stdin ( --files0-from=-),
    • ukuran cetak dalam format yang dapat dibaca manusia ( -h), dan
    • cetak total pada akhirnya ( -c).

Ubah .psdjenis file apa pun yang Anda inginkan untuk menemukan penggunaan disk.


bagaimana cara mengurutkan output berdasarkan ukuran?
ulkas

0

Secara lebih umum, Anda bisa menggunakan kombinasi finddan awkuntuk melaporkan pengelompokan penggunaan disk dengan aturan apa pun yang Anda pilih. Berikut adalah perintah yang dikelompokkan berdasarkan ekstensi file (apa pun yang muncul setelah periode akhir):

# output pairs in the format: `filename size`.
# I used `nawk` because it's faster.
find -type f -printf '%f %s\n' | nawk '
  {
    split($1, a, ".");       # first token is filename
    ext = a[length(a)];      # only take the extension part of the filename
    size = $2;               # second token is file size
    total_size[ext] += size; # sum file sizes by extension
  }
  END {
    # print sums
    for (ext in total_size) {
      print ext, total_size[ext];
    }
  }'

Akan menghasilkan sesuatu seperti

wav 78167606
psd 285955905
txt 13160

-1

Ya kamu bisa. Sintaks untuk mencari file di terminal adalah:

Syntax   :   find foldername -iname '.filetype' -size size 

Example  :   find $HOME -iname '*.mp3' -size +1M

Untuk skenario Anda, itu harus seperti

find $HOME -iname '*.psd' -size +0M

Untuk informasi lebih lanjut, lihat dokumen resmi di sini .


Ya tapi ini hanya akan mencetak nama file yang + 0M, itu tidak akan benar-benar memberi tahu saya ukurannya.
Alaa Ali

Ya, saya melihat jawaban Anda sempurna!
PAC
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.