¿Cómo mostrar el uso del disco por tipo de archivo?


9

Básicamente, me pregunto dónde se está ocupando todo el espacio de mi disco en mi disco y me gustaría poder analizar por tipo de archivo

Por ejemplo, me gustaría usar la Terminal para ver cuánto espacio están usando los .psdarchivos en mi disco.

¿Hay alguna manera de hacer tal cosa?

Respuestas:


12

Prueba esto:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' encuentra todos los archivos que terminan con una extensión de psd
  • -print0 imprime los nombres de archivo seguidos de un carácter nulo en lugar de una nueva línea
  • | du -ch --files0-from=-toma los nombres de archivo findy calcula el uso del disco. Las opciones le dicen dua:
    • calcular el uso del disco de los nombres de archivo separados por un carácter nulo de stdin ( --files0-from=-),
    • tamaños de impresión en un formato legible para humanos ( -h), y
    • imprime un total al final ( -c).

Cambie .psdal tipo de archivo para el que desea encontrar el uso del disco.


¿Cómo ordenar la salida por tamaño?
ulkas

0

De manera más genérica, podría usar una combinación de findy awkpara informar la agrupación de uso de disco por cualquier regla que elija. Aquí hay un comando que agrupa por extensiones de archivo (lo que aparezca después del período final):

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

Produciría algo como

wav 78167606
psd 285955905
txt 13160

-1

Si puedes. La sintaxis para buscar archivos en la terminal es:

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

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

Para su escenario tiene que ser como

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

Para más información vea el documento oficial aquí .


Sí, pero esto solo imprimirá los nombres de archivo que son + 0M, en realidad no me dirá su tamaño.
Alaa Ali

Sí, ¡vi tu respuesta perfecta!
PAC
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.