我正在使用tar带有几个--exclude指定实例的gnu 。
我得到两个
Removing leading / from member names
Run Code Online (Sandbox Code Playgroud)
和
Removing leading / from hard link targets
Run Code Online (Sandbox Code Playgroud)
警告。它们之间有什么区别?
Dev*_*lar 10
tarball 中的任何条目都不能以“/”开头,即具有绝对路径。这是一项安全功能,因此如果您解压缩 tarball,您可以确保所有文件都驻留在目标目录和子目录中,而不是分散在整个系统中(并且可能覆盖关键文件)。
您看到的警告tar是从任何绝对路径中去除前导“/”产生的,包括普通文件(“成员名称”)和硬链接(“硬链接目标”)。
例如,这个命令...
/home/user $ tar czf tarball.tgz /home/user/data
Run Code Online (Sandbox Code Playgroud)
...会导致这些警告,因为“/home/...”被转换为“home/...”。解压压缩包...
/home/user $ tar xzf tarball.tgz
Run Code Online (Sandbox Code Playgroud)
...将导致所有文件被解压缩到/home/user/home/user/data. 如果tar没有去除前导斜杠,则文件/home/user/data将被覆盖。