Estou recebendo resultados du -h
como os seguintes:
103M ./.wine/drive_c/windows/mono/mono-2.0/lib/mono
103M ./.wine/drive_c/windows/mono/mono-2.0/lib
129M ./.wine/drive_c/windows/mono/mono-2.0
129M ./.wine/drive_c/windows/mono
362M ./.wine/drive_c/windows
545M ./.wine/drive_c
Eu gostaria de mostrar apenas a pasta mais acionável, que é a pasta ./.wine/drive_c/windows/mono/mono-2.0/lib/mono
Existe alguma maneira de remover a pasta pai se uma pasta filha for responsável pela maior parte do uso do espaço em disco?
Uma configuração para mostrar apenas pastas folhadas pode funcionar, ou uma configuração para subtrair o tamanho de todas as subpastas de uma pasta pai ao calcular o tamanho da pasta pai.
disk-usage
EoghanM
fonte
fonte
Respostas:
Se você estiver usando o GNU du, poderá usar a opção
-S
ou--separate-dirs
para não incluir o tamanho dos subdiretórios ao calcular o uso do pai.Seu
du
comando pode não suportar esta opção.Você pode usar esse par com classificação para obter os maiores diretórios individuais (assumindo as ferramentas GNU):
fonte
Pessoalmente, eu apenas o combino com o poder do tipo GNU:
Isso fará com que os tamanhos sejam classificados em um formato legível por humanos. Por exemplo:
De
man sort
:Ele ainda mostra aqueles com os quais você não se importa, mas agora é muito fácil encontrar os que você faz.
fonte
545M ./.wine/drive_c
no topo da lista, mesmo que contenha apenas pastas e nenhum arquivo, e torna mais difícil ver como o espaço é distribuído entre as subpastas (recursivas) de drive_c porque elas não aparece consecutivamente na lista.Se você está apenas procurando uma visão claramente organizada, recomendo o
durep
pacote.Exemplo de saída:
Use o
-td
parâmetro para especificar a profundidade máxima e o-hs
parâmetro para especificar um tamanho mínimo para uma pasta aparecer nos resultados.fonte
Não tenho certeza se é isso que você deseja, mas você pode remover os diretórios pai usando os GNU
find
's-execdir
:A
-execdir
opção é semelhante a,-exec
mas executa o comando que você fornece no subdiretório ondefind
encontrou um arquivo.fonte
Se você estiver usando
du
uma profundidade fixa, por exemplodu -m -d 2 .
, poderá mascarar linhas que não atinjam sua profundidade máxima da seguinte forma:Nesse caso, eu queria uma profundidade de 2 diretórios, então só mantive os resultados com 3 campos, conforme definido com a
awk
palavra - chave,NF
depois de especificar"/"
como meu separador de campos no início.fonte
Ambos funcionam para mim:
fonte