Como obter o tamanho do bloco do sistema de arquivos HFS +


5

Como posso descobrir o tamanho do bloco do sistema de arquivos HFS + para um volume local em um MacbookPro5,4. Eu acho que é 4k. Eu preciso confirmar isso. O Diskutil relata que o tamanho do bloco é de 512 bytes.

Respostas:


5

Você pode tentar "stat" com a opção de formato "% k". De acordo com a página do manual, este é o "Tamanho ideal do bloco de operação de E / S do sistema de arquivos". A linha de comando é:

stat -f "%k" FILE

Onde "FILE" é qualquer arquivo regular no seu sistema (por exemplo, "~ / .profile"). Deveria dizer "4096" ou algo parecido. Não posso garantir 100% que é isso que você procura, mas parece próximo.


Hum, isso parece muito bom. Não sei exatamente se ele lê o cabeçalho do sistema de arquivos ou não, mas parece estar dando um valor razoável.
Brendan

2

Se você deseja verificar o tamanho do bloco, pode modificar a resposta dada pelo neuroburn para incluir o tamanho do arquivo e o número de blocos de 512 bytes alocados:

stat -f "%k, %z, %b" FILE

O número de blocos de 512 bytes alocados será um múltiplo do número de blocos de 512 bytes em um bloco do sistema de arquivos. Por exemplo, um bloco do sistema de arquivos de 4096 bytes contém 8 blocos de 512 bytes:

MacBook-Pro:~ ian$ echo foo > foo.txt
MacBook-Pro:~ ian$ ls -l foo.txt
-rw-r--r--  1 ian  staff  4 12 Jul 00:21 foo.txt
MacBook-Pro:~ ian$ stat -f "%k, %z, %b" foo.txt
4096, 4, 8

Fazer isso algumas vezes dará mais confiança ao comando mais simples proposto pelo neuroburn. (Observe que esta resposta foi editada para corrigir os parâmetros do comando ... os parâmetros anteriores "% k,% z,%” causaram falha no comando.)


0

Essa é uma medida justa o suficiente, mas a maneira correta de fazer isso seria consultar o próprio sistema de arquivos, o que você pode fazer programaticamente por statfs (). Como alternativa, você pode ler diretamente do cabeçalho do volume HFS - uma ferramenta gratuita chamada HFSleuth, em http://www.newosxbook.com/ - permite fazer exatamente isso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.