Jan 9

[原]tar 报从成员名中删除开头的“/”的问题 多云

linuxing , 10:14 , 基础知识 » 系统命令 , 评论(1) , 引用(0) , 阅读(15252) , Via 本站原创 | |
    使用tar 命令打包数据时,有时候会报:从成员名中删除开头的“/”的警告,原因是什么呢?

例如:

[root@al_01 ~]# tar czvf /root/keystonerc.tar.gz /root/keystonerc_*
tar: 从成员名中删除开头的“/”
/root/keystonerc_admin
/root/keystonerc_demo
/root/keystonerc_laq
[root@al_01 ~]# tar tzvf keystonerc.tar.gz                        
-rw------- root/root       185 2014-01-07 18:16 root/keystonerc_admin
-rw------- root/root       170 2014-01-07 19:12 root/keystonerc_demo
-rw------- root/root       189 2014-01-08 18:21 root/keystonerc_laq


实际上,原因是打包的文件使用了绝对路径,改用相对路径就不会有这个警告了:

[root@al_01 ~]# tar czvf /root/keystonerc.tar.gz keystonerc_*
keystonerc_admin
keystonerc_demo
keystonerc_laq
[root@al_01 ~]# tar tzvf keystonerc.tar.gz                    
-rw------- root/root       185 2014-01-07 18:16 keystonerc_admin
-rw------- root/root       170 2014-01-07 19:12 keystonerc_demo
-rw------- root/root       189 2014-01-08 18:21 keystonerc_laq

也可以使用-P 参数,强制指定为绝对路径:

[root@al_01 ~]# tar czvfP /root/keystonerc.tar.gz /root/keystonerc_*
/root/keystonerc_admin
/root/keystonerc_demo
/root/keystonerc_laq
[root@al_01 ~]# tar tzvf keystonerc.tar.gz                          
tar: 从成员名中删除开头的“/”
-rw------- root/root       185 2014-01-07 18:16 /root/keystonerc_admin
-rw------- root/root       170 2014-01-07 19:12 /root/keystonerc_demo
-rw------- root/root       189 2014-01-08 18:21 /root/keystonerc_laq

它们的差别主要在于打包文件中的路径是不同的。当带-P 参数时,压缩包中的路径使用绝对路径方式,而没有-P 参数会自动删除前缀的根符号,也就是本文开头的提示信息。

这在解压时有很大的差异!

如果使用相对路径的压缩包,解压时会放到当前目录。而使用绝对路径的压缩包,则可以再通过-P 参数解压到绝对路径的位置上,而不同通过-C 参数指定起始路径了。

例如:

[root@al_01 ~]# tar tzvf keystonerc.tar.gz
tar: 从成员名中删除开头的“/”
-rw------- root/root       185 2014-01-07 18:16 /root/keystonerc_admin
-rw------- root/root       170 2014-01-07 19:12 /root/keystonerc_demo
-rw------- root/root       189 2014-01-08 18:21 /root/keystonerc_laq
[root@al_01 ~]# mkdir /tmp/dir
[root@al_01 ~]# cd /tmp/dir
[root@al_01 dir]# tar xzvf /root/keystonerc.tar.gz
tar: 从成员名中删除开头的“/”
/root/keystonerc_admin
/root/keystonerc_demo
/root/keystonerc_laq
[root@al_01 dir]# ll root/ <--当前目录中
总用量 12
-rw------- 1 root root 185 1月   7 18:16 keystonerc_admin
-rw------- 1 root root 170 1月   7 19:12 keystonerc_demo
-rw------- 1 root root 189 1月   8 18:21 keystonerc_laq
[root@al_01 dir]# tar xzvfP /root/keystonerc.tar.gz <--绝对路径,直接解压到/root目录下
/root/keystonerc_admin
/root/keystonerc_demo
/root/keystonerc_laq

那种方式都可以,注意解压参数即可,千万不要覆盖有用的文件了!
Tags:
yanqian Email
2014/01/22 15:47
感谢分享!p.s. 您知道红旗Linux的情况么?之前的社区版本Qomo Linux是不是也不会再开发了?www.linux-ren.org是不是再也无法访问了?挺遗憾的!
linuxing 回复于 2014/01/26 15:01
托管的服务器到期了,暂时是没法恢复了,希望年后有结果吧。Qomo Linux 需要等,能坚持可能不会放弃的。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]