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.
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?
Para excluir vários diretórios, basta passar o sinalizador --exclude novamente.
du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude
impressionante para pular os sistemas de arquivos virtuais, como assim
du -hsx --exclude=/{proc,sys,dev} /*
Tags command-line disk-usage