Como exibir o uso do disco por tipo de arquivo?

9

Basicamente, estou me perguntando onde todo o espaço em disco está sendo consumido na minha unidade e gostaria de poder analisar por tipo de arquivo

Por exemplo, eu gostaria de usar o Terminal para ver quanto espaço está sendo usado pelos .psdarquivos na minha unidade.

Existe uma maneira de fazer uma coisa dessas?

Pete
fonte

Respostas:

12

Tente o seguinte:

find . -iname '*.psd' -print0 | du -ch --files0-from=-
  • find . -iname '*.psd' localiza todos os arquivos que terminam com uma extensão de psd
  • -print0 imprime os nomes dos arquivos seguidos por um caractere nulo em vez de uma nova linha
  • | du -ch --files0-from=-pega os nomes dos arquivos finde calcula o uso do disco. As opções indicam du:
    • calcular o uso do disco de nomes de arquivos separados por um caractere nulo de stdin ( --files0-from=-),
    • tamanhos de impressão em um formato legível por humanos ( -h) e
    • imprima um total no final ( -c).

Mude .psdpara o tipo de arquivo para o qual deseja encontrar o uso do disco.

Alaa Ali
fonte
como classificar a saída por tamanho?
ulkas
0

Mais genericamente, você pode usar uma combinação de finde awkrelatar o agrupamento de uso de disco por qualquer regra que escolher. Aqui está um comando que agrupa por extensões de arquivo (o que aparecer após o 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];
    }
  }'

Produziria algo como

wav 78167606
psd 285955905
txt 13160
Yuval
fonte
-1

Sim você pode. A sintaxe para pesquisar arquivos no terminal é:

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

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

Para o seu cenário, tem que ser como

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

Para mais informações, consulte o documento oficial aqui .

PAC
fonte
Sim, mas isso só imprimirá os nomes de arquivo que são + 0M; na verdade, não me diz o tamanho deles.
Alaa Ali
Sim, vi sua resposta perfeita!
PAC