在 tar 中使用 -p 选项时,在创建、提取或两者期间是否需要?

dav*_*490 0 tar


当我在 tar 中使用 -p 选项(保留权限)时,是否需要在创建和提取存档期间都使用该选项,还是仅需要其中之一?

我无法找到这个问题的明确答案,“man tar”也没有说清楚。

所以,我想知道您是否可以告诉我,以下哪个需要“p”:

$ tar cpf archive.tar source-files     # Create an archive.
$ tar xpf archive.tar                  # Extract the archive.
Run Code Online (Sandbox Code Playgroud)

我很想知道是否只有一个命令需要“p”,而不是只使用在两者中都使用“p”的全面解决方案。

Ste*_*itt 6

tar创建存档时默认存储权限,因此p不需要c. 这必要的x,除非你的运行root; 否则将应用当前的 umask 而不是存储的权限。请参阅文档

--preserve-permissions
--same-permissions
-p
Run Code Online (Sandbox Code Playgroud)

将提取的存档成员的模式设置为存档中记录的模式,而不是当前的 umask 设置。与--extract( --get, -x)结合使用。