Jan
9
[原]tar 报从成员名中删除开头的“/”的问题
使用tar 命令打包数据时,有时候会报:从成员名中删除开头的“/”的警告,原因是什么呢?
例如:
实际上,原因是打包的文件使用了绝对路径,改用相对路径就不会有这个警告了:
也可以使用-P 参数,强制指定为绝对路径:
它们的差别主要在于打包文件中的路径是不同的。当带-P 参数时,压缩包中的路径使用绝对路径方式,而没有-P 参数会自动删除前缀的根符号,也就是本文开头的提示信息。
这在解压时有很大的差异!
如果使用相对路径的压缩包,解压时会放到当前目录。而使用绝对路径的压缩包,则可以再通过-P 参数解压到绝对路径的位置上,而不同通过-C 参数指定起始路径了。
例如:
那种方式都可以,注意解压参数即可,千万不要覆盖有用的文件了!
例如:
[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
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
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
/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
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
那种方式都可以,注意解压参数即可,千万不要覆盖有用的文件了!
yanqian
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