Tar --absolute-names 标志不起作用

Tar --absolute-names 标志不起作用

我想将给定目录中的所有内容放入存档中,同时保存整个目录布局,因此需要高级目录名称。

我运行以下命令:

tar --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

然而,这仅保存下面的目录布局opt

dir1
dir1/file
file1
file2

据我从手册中了解到,我应该使用--absolute-namesor -P,但是当我将它们添加到上面的命令时,它们都不起作用。

tar --absolute-names --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

可能是什么问题呢?

存档中所需的目录布局应该是:

/home/user/opt/dir1
/home/user/opt/dir1/file
/home/user/opt/file1
/home/user/opt/file2

答案1

当您使用时,--directory FOO .您会被告知tar切换到 FOO 目录并从那里开始归档。

如果您想要完整路径名,那么您应该将它们指定为模式。

例如

tar -czf /home/user/test_backup.tgz /home/user/opt

然而,这会剥夺主角/的能力,所以你需要告诉tar不要这样做:

tar --absolute-names -czf /home/user/test_backup.tgz /home/user/opt

答案2

$ tar -P -cvzf archive.tgz /path/to/dir

这将创建一个包含 内容的存档,/path/to/dir并具有以 开头的完整路径/path/to/dir

如果您希望保留路径​​中的前导,您还必须-P在从存档中提取文件时使用。/

相关内容