Come visualizzare l'utilizzo del disco per tipo di file?


9

Fondamentalmente mi chiedo dove tutto il mio spazio su disco viene esaurito sul mio disco e vorrei essere in grado di analizzare per tipo di file

Ad esempio, vorrei utilizzare il Terminale per vedere quanto spazio viene utilizzato dai .psdfile sul mio disco.

C'è un modo per fare una cosa del genere?

Risposte:


12

Prova questo:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' trova tutti i file che terminano con un'estensione di psd
  • -print0 stampa i nomi dei file seguiti da un carattere null anziché da una nuova riga
  • | du -ch --files0-from=-prende i nomi dei file finde calcola l'utilizzo del disco. Le opzioni dicono dua:
    • calcola l'utilizzo del disco dei nomi dei file separati da un carattere null da stdin ( --files0-from=-),
    • formati di stampa in un formato leggibile dall'uomo ( -h) e
    • stampare un totale alla fine ( -c).

Passare .psdal tipo di file per il quale si desidera trovare l'utilizzo del disco.


come ordinare l'output per dimensione?
Ulkas,

0

Più in generale, è possibile utilizzare una combinazione di finde awkper segnalare il raggruppamento dell'utilizzo del disco in base a qualsiasi regola scelta. Ecco un comando che raggruppa per estensione (qualunque cosa compaia dopo il periodo finale):

# 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];
    }
  }'

Produrrebbe qualcosa di simile

wav 78167606
psd 285955905
txt 13160

-1

Sì, puoi. La sintassi per la ricerca di file nel terminale è:

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

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

Per il tuo scenario deve essere come

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

Per ulteriori informazioni consultare il documento ufficiale qui .


Sì, ma questo stamperà solo i nomi dei file che sono + 0 M, in realtà non mi dirà la loro dimensione.
Alaa Ali,

Sì, ho visto la tua risposta perfetta!
PAC
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.