使用tar命令时如何防止覆盖现有文件

时间:2018-07-04 10:33:26

标签: linux bash tar

我犯了一个错误,忘记了在使用tar命令时忘记分配文件名的参数,如下所示:

[john@foobar foo]$ ll
total 0
-rw-rw-r-- 1 john john 0  7月  4 19:20 2018 file1
-rw-rw-r-- 1 john john 0  7月  4 19:20 2018 file2
-rw-rw-r-- 1 john john 0  7月  4 19:20 2018 file3
[john@foobar foo]$ tar -cvzf file1 file2 file3
file2
file3
[john@foobar foo]$ ll
total 4
-rw-rw-r-- 1 john john 130  7月  4 19:21 2018 file1
-rw-rw-r-- 1 john john   0  7月  4 19:20 2018 file2
-rw-rw-r-- 1 john john   0  7月  4 19:20 2018 file3

忘记分配存档文件名时,tar会覆盖并创建存档file1

我检查了man tar,但似乎没有选项,例如cp在同名文件已经存在时显示提示。

创建万无​​一失的脚本是一种可行的方法吗?

1 个答案:

答案 0 :(得分:-1)

来自man tar

-k, --keep-old-files
       don’t replace existing files when extracting, treat them as errors

--skip-old-files
       don’t replace existing files when extracting, silently skip over them