Algumas questões sobre o comando stat para sistemas de arquivos

1

Primeiro de tudo, eu sou completamente ignorante em relação aos comandos do shell. Então, por favor, seja paciente. Além disso, estou usando o OS X, mas estou feliz com uma resposta na generalidade do Unix se isso for possível.

Estou tentando executar o comando stat -f [some parameters here] [volume name] .

De acordo com referências em outros lugares, o comando mais simples dessa forma stat -f /dev/disk0s2 está sintaticamente correto. No entanto, eu tenho o seguinte:

 stat -f /dev/disk0s2
 /dev/disk0s2

De acordo com aqui ( link ), por exemplo, eu deveria ter um parágrafo cheio de informações. No meu caso, estou interessado principalmente no tamanho do bloco obtido através do comando stat.

Além disso, aqui ( link ), são mencionados os parâmetros "% k,% z,% b". No entanto, no manual de stat (ou seja, usando man stat ) não consigo encontrar esses parâmetros. Além disso, não tenho idéia do porquê as aspas estão sendo usadas lá (eu vi tanto stat -f %k como stat -f "%k" , por exemplo).

Então, em resumo, tenho três perguntas:

1) Por que stat -f /dev/disk0s2 não está me dando o resultado esperado?

2) Quais são os parâmetros% k,% z e% b e estão sendo mencionados no manual?

3) Qual é o significado das aspas em torno dos parâmetros mencionados acima (por exemplo, stat -f %k e stat -f "%k" )? Isso é uma coisa geral na sintaxe dos comandos do Unix?

Obrigado antecipadamente.

    
por user40276 20.03.2018 / 13:17

1 resposta

2

As ferramentas de linha de comando que vêm pré-instaladas no OS X vêm do FreeBSD, mas muitos guias on-line provavelmente assumirão um ambiente Linux e ferramentas GNU. Eles não são sempre os mesmos.

Compare as duas páginas man do stat do FreeBSD e stat GNU . No FreeBSD, -f configura o formato de saída e recebe um argumento correspondente. No stat GNU -f pede a saída sobre o sistema de arquivos (não o arquivo nomeado), e não aceita argumentos.

Então, 1) o resultado é diferente porque você está usando uma ferramenta diferente, 2) as opções de formato são mencionadas em "Formatos" na página de manual do FreeBSD. 3) As aspas não estão realmente relacionadas ao stat em si, mas ao shell. Argumentos de linha de comando que contenham caracteres especiais para o shell (como espaços em branco, ou caracteres glob ?*[] etc) precisam ser citados para evitar que o shell os processe. Mas % não é especial (pelo menos não nesse contexto), então não importa se é citado ou não.

    
por 20.03.2018 / 13:23

Tags