Maneira rápida de exibir o tamanho de cada subdiretório em um diretório

7

Eu quero verificar quais diretórios ocupam mais espaço em disco, rapidamente.

Eu tentei du -sh subdir , mas demorou mais de 20 segundos em diretórios maiores.

Não sei como exibir o tamanho de todos os subdiretórios no diretório inicial de uma só vez com esse método, mas receio que isso possa levar alguns minutos ...

Existe uma maneira rápida de fazer isso?

Eu não preciso mostrar o tamanho dos arquivos, apenas dos diretórios.

    
por stacko 03.09.2016 / 04:15

3 respostas

6

Diretório de amostra

$ ls -aF
./  ../  .asd/  folder1/  folder2/  list  t1  t2  xyz/

Para encontrar tamanhos apenas para pastas, exceto pastas ocultas:

$ find -type d -name '[!.]*' -exec du -sh {} + 
4.0K    ./folder1
4.0K    ./folder2
8.0K    ./xyz

Se você precisar de um total no final também:

$ find -type d -name '[!.]*' -exec du -ch {} + 
4.0K    ./folder1
4.0K    ./folder2
8.0K    ./xyz
16K total

Para ordenar os resultados:

$ find -type d -name '[!.]*' -exec du -sh {} + | sort -h
4.0K    ./folder1
4.0K    ./folder2
8.0K    ./xyz

Para inverter a ordem de classificação:

$ find -type d -name '[!.]*' -exec du -sh {} + | sort -hr
8.0K    ./xyz
4.0K    ./folder2
4.0K    ./folder1

Se você precisar também de diretórios ocultos, remova -name '[!.]*' do comando find. Não conheço nenhum outro comando para encontrar o tamanho das pastas que seja mais rápido que du . Use df para file system disk space usage

Use find -maxdepth 1 -type d -name '[!.]*' -exec du -sh {} + para evitar subpastas

    
por 03.09.2016 / 04:30
4

Use o pacote ncdu . você pode instalá-lo por sudo apt-get install ncdu .
no servidor você pode usá-lo com opções ncdu -q -x (modo silencioso e omite diretórios montados).

Ncdu vs du / df

The interface of ncdu is built using ncurses and is interactive. Ncdu is different from df or du. Ncdu just does the one task of reporting the space used by a directory and drill down. On the other hand the df command reports space used by different storage devices.

O ncdu é uma ferramenta poderosa para monitorar, verificar e analisar o uso de espaço em disco no seu sistema linux

    
por 14.02.2017 / 13:14
3

Todas as pastas ocupam a mesma quantidade de espaço, ou seja, 4096 bytes. Você não quer saber o tamanho das pastas, mas o tamanho delas. E isso exige contagem, que por sua vez exige tempo.

du conta os tamanhos de diretório por padrão. Então, para obter os tamanhos para isso:

cd && du

Ou

du ~

Veja man du para mais opções.

    
por 03.09.2016 / 04:44