使ってみましたアスファルトコマンド、--delete
オプション、およびいくつかの問題が発生しました。私が理解していない2つのことがあります。
--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 これにより、若干のオーバーヘッドが追加され、ブロック数を変更しない項目を削除すると、バイトが削除されていないと見なされます(全体のファイルサイズに基づいており、確かにそのブロック内に保存されたファイルの結合サイズではありません) 。