BASH- Encontre o dono de um arquivo

1

Estou procurando um caminho dentro de um script bash para retornar o proprietário de um arquivo. Eu estou supondo que isso é possível usando "gawk", mas eu sinceramente não tenho idéia e não parece haver uma resposta compreensível já postada online.

    
por Abul Hussan 06.04.2016 / 05:25

2 respostas

6

Use stat para isso.

Em um sistema GNU:

  • Para obter o nome de usuário do proprietário:

    stat -c '%U' file.txt
    
  • Para obter o ID do usuário (UID) do proprietário:

    stat -c '%u' file.txt
    

Assumindo que o arquivo é file.txt .

Para FreeBSD e Mac OS X (graças a @cas) :

  • Para nome de usuário:

    stat -f '%Su' file.txt
    
  • Para UID:

    stat -f '%u' file.txt
    
por 06.04.2016 / 05:29
1
ls -l foo

O campo # 3 é o proprietário, o # 4 é o grupo. Então:

set -- $(ls -l foo) ; echo $3

Mas stat é melhor quando disponível.

    
por 15.04.2016 / 23:53