Usando --exclui com o du comando

53

Isso é provavelmente algo básico, mas não consigo fazer funcionar. Estou tentando usar o DU para obter um tamanho total de arquivos menos alguns diretórios. Eu preciso excluir um diretório específico chamado uploads , mas não todo diretório chamado uploads . Por exemplo, minha estrutura de arquivos parece um pouco assim:

/store
  /uploads
    /junk_to_ignore
    /more_junk_to_ignore
  /user_one
    /uploads
  /user_two

Eu posso executar o seguinte comando:

du -ch --exclude=uploads* 

e isso me dá o tamanho do arquivo menos todos os diretórios "uploads". No entanto, ao tentar excluir certos diretórios (e todos os seus subdiretórios), eu falho. Eu tentei variações de:

du -ch --exclude=./uploads*
du -ch --exclude='/full/path/to/uploads/*'

mas parece que não consegue descobrir. Como faço para excluir um diretório específico?

    
por Will 31.10.2011 / 18:47

3 respostas

70

Você quase o encontrou:)

du -ch --exclude=./relative/path/to/uploads

Nota não asterisco no final. O asterisco significa que todos os subdiretórios em "upload" devem ser omitidos - mas não os arquivos diretamente nesse diretório.

    
por 31.10.2011 / 19:25
4

Para excluir vários diretórios, basta passar o sinalizador --exclude novamente.

du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude
    
por 30.08.2017 / 23:42
1

impressionante para pular os sistemas de arquivos virtuais, como assim

du -hsx --exclude=/{proc,sys,dev} /*
    
por 18.07.2018 / 13:37