Alguém sabe como visualizar todas as pastas dentro de um diretório com tamanho, pasta/arquivo, proprietário?
O único comando que conheço é du -hs *
Mas que também mostra todas as subpastas e não mostra o proprietário.
Por exemplo, gostaria de obter as informações sobre tamanho, pasta/arquivo, proprietário da pasta/arquivo em "/meu/caminho/".
Algum conhecimento de comando que possa me fornecer essa informação?
Ir. Hultman
Responder1
Você poderia tentar o find
comando:
find /my/path -maxdepth 1 -type d -printf "%u %g " -exec du -h --max-depth=0 {} \;
deve localizar todos os diretórios (filter -type d
) um nível abaixo do ponto inicial /my/path
(opção -maxdepth 1
). Será então
- use a
-printf
opção de imprimir proprietário e grupo e, em seguida, - invoque
du --max-depth=0
em cada diretório encontrado ({}
) para imprimir o nome e o tamanho total diretamente atrás da saída da-printf
opção anterior, usando o-exec
mecanismo.
Responder2
Aqui eu tenho um trecho simples para você
#!/usr/bin/env bash
unset fname owner size i
for f in "$@"
do
fname[i]="$f"
owner[i]=$(stat -c %U "$f")
size[i++]=$(stat -c %s "$f")
done
for i in "${!fname[@]}"
do
printf "User %s owns %s and the size is %d Kbytes\n" "${owner[i]}" "${fname[i]}" $((${size[i]} / 1024))
done
Torne o script executável ou execute-o como bash script_name [path]
chmod u+x script_name
E executá-lo
./script_name /my/path/*