Usando 'stat' para determinar blocos preenchidos

2

Como posso encontrar o número de blocos preenchidos de um determinado arquivo usando a função stat ?

Já encontrei o comando $(stat -c%b "$FILENAME") , que fornece o número de blocos alocados, mas não sei se essa é a informação que estou procurando?

    
por Matthew 18.11.2014 / 23:33

1 resposta

0

Eu acredito que o comando que você tem é aquele que dá essa informação necessária. Eu fiz o teste abaixo para verificar se o seu comando retorna a saída esperada.

touch sample_file
stat -c%b sample_file 
## The output is 0 as we have no contents inside the file. 
0

Agora, acrescente alguns conteúdos ao arquivo.

echo "Hey there, this line goes to my file" >> sample_file
stat -c%b sample_file
8

Agora, vamos tentar acrescentar mais conteúdo para ver se os blocos alocados são retornados corretamente pelo comando stat . Para adicionar o conteúdo aleatoriamente, eu uso a abordagem como discutido aqui .

dd bs=1024 count=1024 </dev/urandom >> sample_file
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.0933755 s, 11.2 MB/s

Agora, novamente, apenas verifique se o conteúdo do arquivo não é sobrescrito, apenas para ter certeza. head -1 sample_file me dá Hey, esta linha vai para o meu arquivo que nós adicionamos anteriormente. Agora, executo o comando stat novamente e esta é a saída que recebo.

stat -c%b sample_file
2056
    
por 19.11.2014 / 01:34

Tags