tar 命令压缩时报错 Removing leading `/' from member names 解决方法
在使用tar
命令进行压缩打包的时候我们常常会遇到下面的错误。虽然它不会影响我们最后的压缩打包,但是间接说明了我们的命令是有问题的。接下来我们来看看解决的方法。
报错内容
报错内容:
$ tar -zcvf /home/shenweiyan/codeHub.tar.gz /home/shenweiyan/codeHub
tar: Removing leading `/' from member names
意思就是让我们将路径的 "/" 去除掉。
问题原因
因为我们使用的是绝对路径,而不是相对路径。而tar
命令默认是采用相对路径来进行压缩打包的。
解决方法
我们需要使用参数 -P
(大写)来允许我们使用绝对路径进行压缩打包。
-P
或--absolute-names
:文件名使用绝对名称,不移除文件名称前的 “/” 号;
注意:网上有些文档是 将 -P
参数加在 f
参数后面,那么这样是会报错的。
错误示例:
$ tar -zcvfP /home/shenweiyan/codeHub.tar.gz /home/shenweiyan/codeHub
tar: Removing leading `/' from member names
tar: /home/shenweiyan/codeHub.tar.gz: Cannot stat: No such file or directory
/home/shenweiyan/codeHub/
tar: Exiting with failure status due to previous errors
我们一般是将f
参数放到最后,-f
参数后面接上文件名, 将P
放在f
前即可。
-f <备份文件>
或--file=<备份文件>
:指定备份文件;
正确实例:
tar -zcvPf /home/shenweiyan/codeHub.tar.gz /home/shenweiyan/codeHub
在使用 tar
命令的时候要注意 f
参数的位置,避免错误。