tar tar可以删除兄弟目录吗?

时间:2015-10-06 14:43:20

标签: linux shell debian backup

我使用备份管理器在不同目录上进行了多次备份。例如:/ home / user1 / home / user2 ...

它给了我一些tar文件。 tar文件的内容如下所示:

home/user1/
home/user1/.profile
home/user1/.bash_history
home/user1/.bash_logout
...

我尝试用以下方法测试修复:

tar -xvzf home.user1.tar.gz -C home/user1

但上面的命令会重新创建选择目录中的所有结构。这给了/ home / user1 / home / user1 / filname1。

所以我想我应该使用指定主目录(/ home)而不是用户目录的命令。但是在/ home中删除其他用户的目录是否有任何风险?

请耐心等待。

1 个答案:

答案 0 :(得分:1)

实际上tar不会将数据删除为默认值。但是,如果文件已存在,则tar存档中包含的任何文件都将覆盖同名文件。同样,如果tar存档不包含与它们匹配的文件,则不会覆盖子目录的内容。

mkdir -p foo/bar/

touch foo/file1 foo/bar/file1

tar -cf foo.tar foo/

rm -rf foo

mkdir -p foo/bar/

touch foo/file2 foo/bar/file2

tar -xf foo.tar

ls foo foo/bar/

因为曾经可以看到file1和file2都存在,并且新的未归档目录没有覆盖旧目录。以下是我系统中ls的输出:

foo:
bar  file1  file2

foo/bar/:
file1  file2