我试图使用柏油命令,--delete
选项并遇到了一些问题。有两件事我不明白:
- 当使用
--verbose
选项与 --delete 选项组合时,没有像--verbose
通常那样显示任何内容,即不显示已删除的文件。 - 使用
--totals
选项时,删除的大小始终为0,这没有意义,我无法弄清楚这些输出的含义。
谁能帮我解决这些问题吗?以下代码显示了该过程。
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
答案1
.tar
如果您查看之前和之后的文件大小--delete
,您会发现文件大小没有变化。因此删除的总字节数为 0。
如果您使文件quitpomo
更大(我尝试了 20480 字节),添加它然后使用相同的命令删除它,您将得到一个非零的“删除的总字节数”
这是由 (GNU)tar 引起的使用块结构e 这增加了一定的开销,并且删除不改变块计数的内容被认为没有删除任何字节(相对于总文件大小,当然不是存储在这些块内部的文件的组合大小)。