Comment afficher l'utilisation du disque par type de fichier?


9

Fondamentalement, je me demande où tout mon espace disque est consommé sur mon lecteur et je voudrais pouvoir analyser par type de fichier

Par exemple, j'aimerais utiliser le terminal pour voir combien d'espace est utilisé par les .psdfichiers sur mon lecteur.

Existe-t-il un moyen de faire une telle chose?

Réponses:


12

Essaye ça:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' recherche tous les fichiers se terminant par une extension de psd
  • -print0 imprime les noms de fichiers suivis d'un caractère nul au lieu d'une nouvelle ligne
  • | du -ch --files0-from=-prend les noms de fichiers findet calcule l'utilisation du disque. Les options indiquent du:
    • calculer l'utilisation du disque des noms de fichiers séparés par un caractère nul de stdin ( --files0-from=-),
    • imprimer des formats dans un format lisible par l'homme ( -h), et
    • imprimer un total à la fin ( -c).

Modifiez .psdle type de fichier pour lequel vous souhaitez trouver l'utilisation du disque.


comment trier la sortie par taille?
ulkas

0

Plus généralement, vous pouvez utiliser une combinaison de findet awkpour signaler le regroupement de l'utilisation du disque par n'importe quelle règle de votre choix. Voici une commande qui regroupe par extensions de fichiers (tout ce qui apparaît après la dernière période):

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

Produirait quelque chose comme

wav 78167606
psd 285955905
txt 13160

-1

Oui vous pouvez. La syntaxe pour rechercher des fichiers dans le terminal est:

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

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

Pour votre scénario, cela doit être comme

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

Pour plus d'informations, voir le document officiel ici .


Oui, mais cela n'imprimera que les noms de fichiers qui sont + 0M, cela ne me dira pas réellement leur taille.
Alaa Ali

Oui, j'ai vu votre réponse parfaite!
PAC
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.