首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用7-Zip在存档中保留文件权限和符号链接

使用7-Zip在存档中保留文件权限和符号链接
EN

Unix & Linux用户
提问于 2020-07-25 11:20:58
回答 2查看 10.2K关注 0票数 3

我有一个包含三个文件的目录testls -l test

代码语言:javascript
复制
total 8
-rw-r--r-- 1 mb mb 16 Jul 25 11:12 regular_file
-rwxr-xr-x 1 mb mb 19 Jul 25 11:02 script.sh
lrwxrwxrwx 1 mb mb 12 Jul 25 11:14 symlink -> regular_file

它包含一个常规文件、一个符号链接和一个可执行脚本。

在用tar -czf test.tgz test/归档这个目录之后,我想用7-Zip提取这三个文件:

代码语言:javascript
复制
7z x -tgzip test.tgz && 7z x -ttar test.tar

不幸的是,7-Zip没有生成原始文件:脚本失去了它的可执行位,symlink不再是一个符号链接,而是包含文本regular_file的文件。

代码语言:javascript
复制
total 12
-rw-r--r-- 1 mb mb 16 Jul 25 11:12 regular_file
-rw-r--r-- 1 mb mb 19 Jul 25 11:02 script.sh
-rw-r--r-- 1 mb mb 12 Jul 25 12:16 symlink

另一方面,我可以提取文件的权限和符号链接完好无损地使用

代码语言:javascript
复制
tar -xzf test.tgz

有什么方法可以让7-Zip在存档之前提取文件吗?

7-Zip版本为16.02。我在Arch Linux 5.7.7上。

下面是:用tar创建的归档文件。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-07-25 11:20:58

从这些bug报告来看,这似乎是7-Zip的一个限制:

现在,我将继续使用tar -xzf test.tgz来提取文件。

票数 1
EN

Unix & Linux用户

发布于 2021-03-13 16:51:42

实际上,在7z手册页中提到,对于Unix系统,权限不是由7-Zip存储的:

在Linux/Unix上,备份和限制不使用7 zip格式进行备份,因为- 7-zip不存储文件的所有者/组。在Linux/Unix上,为了备份目录,必须使用tar:

  • 备份目录: tar cf -目录\ 7za,a -si directory.tar.7z
  • 要恢复备份:7zx -so directory.tar.7z = tar

如果您想将文件和目录(而不是文件的所有者)发送给其他Unix/MacOS/Windows用户,您可以使用7-zip格式。示例: 7za是一个目录,7z目录不使用"-r“,因为这个标志不像您想的那样。不要因为“”而使用目录/*。文件(例如:“目录/”与“目录/..profile”不匹配)

因此,您应该能够与TAR一起使用所有者/组状态。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/600282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档