Obtenha apenas chflags do terminal

3

Eu estou querendo saber se existe uma maneira de obter apenas os chflags de um determinado arquivo.

A partir de agora, só consigo ver os chflags usando:

ls -lO

que retornaria algo nos seguintes termos:

dr-x------  8 User  staff  uchg        272 Aug  9 14:15 File

Se possível, existe uma maneira de obter apenas os chflags como texto da mesma maneira que você pode ver valores chmod exclussivamente com:

stat -f %A

Obrigado!

Editar:

Ao procurar mais, há um especificador de campo stat:

stat -f %f File

que informa quantos flags um arquivo possui, mas não fornece mais detalhes. Alguém pode expandir isso?

    
por Jason Hayes 22.08.2017 / 22:09

1 resposta

1

stat -f "%f" file retorna os sinalizadores de arquivo como um número decimal. O arquivo /usr/include/sys/stat.h define sinalizadores de arquivo em números hexadecimais. Você pode usar stat -f "%Xf" file para produzir um número hexadecimal. Um script ou função de shell que analise o campo de sinalização de ls -lOd file seria a solução mais simples.

    
por 23.08.2017 / 13:30

Tags