Linux: Como calcular / encontrar o slackspace de um arquivo?

4

Como eu encontraria o slackspace de um arquivo, por exemplo?

fls -o 63 /images/diskimg.dd 
istat -o 63 /images/diskimg.dd 31
icat -o 63 /images/diskimg.dd | xxd | less

Em quais desses comandos eu usaria para encontrar o slackspace? Ou há outro? Como eu também iria encontrar informações que poderiam ser armazenadas no slackspace?

Descobri que usar a opção -s me permitirá olhar através do espaço de slacks do arquivo com o comando icat, ainda não tendo certeza de calcular o tamanho do espaço de slacks, não goste de adicioná-lo com icat. / p>     

por Stuart 04.04.2014 / 14:36

1 resposta

1

O "slackspace" a que você está se referindo é freqüentemente chamado de espaço esparso em um arquivo. Você pode usar o ls & Comandos du para detectar quanto espaço esparso um arquivo está consumindo.

trecho de Arquivo esparso da Wikipedia

Detection

The -s option of the ls command shows the occupied space in blocks, and -k the apparent size in blocks too:

  $ ls -lks sparse-file

-h can be used to print both in human readable format.

Alternatively, the du command prints the occupied space, while ls prints the apparent size. The option --block-size=1 prints the occupied space in bytes instead of blocks, so that it can be compared to the ls output:

  $ du --block-size=1 sparse-file
  $ ls -l sparse-file

Exemplo

Primeiro, crie um arquivo esparso:

$ truncate -s 5M sparsy

Agora confira:

$ ls -lks sparsy 
0 -rw-rw-r--. 1 saml saml 5242880 Apr  4 09:18 sparsy

$ ls -l sparsy 
-rw-rw-r--. 1 saml saml 5242880 Apr  4 09:18 sparsy

NOTA: A primeira coluna na saída de ls -lks sparsy está exibindo um 0 . Isso significa que o arquivo sparsy é 100% esparso, não contém blocos de dados reais, apenas dados esparsos.

O comando du mostra a mesma coisa:

$ du --block-size=1 sparsy 
0   sparsy

Com um arquivo que não é escasso, veremos isso:

$ seq 1000 > non-sparsy

Agora, quando verificamos usando ls :

$ ls -lks non-sparsy 
4 -rw-rw-r--. 1 saml saml 3893 Apr  4 09:27 non-sparsy

Nós vemos que está consumindo 4 blocos de espaço. Usar du mostra a mesma coisa:

$ du --block-size=1 non-sparsy 
4096    non-sparsy
    
por 04.04.2014 / 15:26