我使用备份管理器在不同目录上进行了多次备份。例如:/ 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中删除其他用户的目录是否有任何风险?
请耐心等待。
答案 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