tar excluir pergunta de progresso

2

Eu estava tentando usar o comando tar , --delete e encontrei alguns problemas. Há duas coisas que não entendo:

  1. ao usar a opção --verbose com a combinação da opção --delete, nada será mostrado como --verbose normalmente, ou seja, sem mostrar arquivos excluídos.
  2. ao usar a opção --totals , o tamanho excluído é sempre 0, não faz sentido e não consigo descobrir o significado dessas saídas.

Alguém pode me ajudar com isso? O código a seguir mostra o procedimento.

x@x:~/bin$ tar --list --file=pomo.tar
pomodoro
pomodoro_2
pomodoro_3
x@x:~/bin$ tar --append --file=pomo.tar quitpomo --verbose
quitpomo
x@x:~/bin$ tar --list --file=pomo.tar
pomodoro
pomodoro_2
pomodoro_3
quitpomo
x@x:~/bin$ tar --list --file=pomo.tar --totals
pomodoro
pomodoro_2
pomodoro_3
quitpomo
Total bytes read: 10240 (10KiB, 12MiB/s)
x@x:~/bin$ tar --delete --file=pomo.tar quitpomo --total --verbose
Total bytes read: 10240 (10KiB, 86MiB/s)
Total bytes written: 10240 (10KiB, 86MiB/s)
Total bytes deleted: 0
    
por Shawn Ma 22.04.2014 / 06:08

1 resposta

2

Se você olhar o tamanho do arquivo .tar antes e depois do --delete , verá que não há alteração no tamanho do arquivo. Portanto, o total de bytes deletados é 0.

Se você tornar o arquivo quitpomo maior (tentei 20480 bytes), adicione-o e exclua-o usando os mesmos comandos, você terá um diferente de zero "Total de bytes excluídos"

Isso é causado pelo (GNU) tar usando uma estrutura de bloco e que adiciona uma certa sobrecarga e excluir algo que não altera a contagem de blocos é considerado como não ter excluído nenhum byte (em relação ao tamanho total do arquivo, não obviamente ao tamanho combinado de arquivos armazenados internamente nesses blocos).

    
por 22.04.2014 / 08:38

Tags