Ver tamanho e proprietário em pastas, dentro de uma pasta

Ver tamanho e proprietário em pastas, dentro de uma pasta

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 findcomando:

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 -printfopção de imprimir proprietário e grupo e, em seguida,
  • invoque du --max-depth=0em cada diretório encontrado ( {}) para imprimir o nome e o tamanho total diretamente atrás da saída da -printfopção anterior, usando o -execmecanismo.

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/*

informação relacionada