/bin/tar: 从成员名中删除开头的“/”

2012年6月21日 发表评论 阅读评论

今天在使用tar进行打包时,发现报了‘从成员名中删除开头的“/”’的错误。我使用的打包语句如下:

[root@bj~]# tar czvf test.tar.gz /root/tomcat/
tar: 从成员名中删除开头的“/”
/root/tomcat/
/root/tomcat/tomcat_spider
/root/tomcat/tomcat_generator
/root/tomcat/tomcat_cms
/root/tomcat/tomcat_biz
/root/tomcat/tomcat_mgrab
/root/tomcat/tomcat_register
/root/tomcat/tomcat_expert
/root/tomcat/tomcat_monitor
/root/tomcat/tomcat_generator.bak
/root/tomcat/tomcat_sgapp
/root/tomcat/tomcat_enterprise
/root/tomcat/tomcat_jjhadmin
/root/tomcat/tomcat_passport
/root/tomcat/tomcat_usercenter
/root/tomcat/tomcat_mws
/root/tomcat/tomcat_crawl
/root/tomcat/tomcat_bbs
/root/tomcat/tomcat_feedback
/root/tomcat/tomcat_search
/root/tomcat/tomcat_comment
/root/tomcat/tomcat_register32

于是赶快的看tar的help手册和man手册。发现使用-P(大写)参数后可以解决这个问题:使用后,果然没再报错:

[root@bj ~]# tar czPvf test.tar.gz /root/tomcat/
/root/tomcat/
/root/tomcat/tomcat_spider
/root/tomcat/tomcat_generator
/root/tomcat/tomcat_cms
/root/tomcat/tomcat_biz
/root/tomcat/tomcat_mgrab
/root/tomcat/tomcat_register
/root/tomcat/tomcat_expert
/root/tomcat/tomcat_monitor
/root/tomcat/tomcat_generator.bak
/root/tomcat/tomcat_sgapp
/root/tomcat/tomcat_enterprise
/root/tomcat/tomcat_jjhadmin
/root/tomcat/tomcat_passport
/root/tomcat/tomcat_usercenter
/root/tomcat/tomcat_mws
/root/tomcat/tomcat_crawl
/root/tomcat/tomcat_bbs
/root/tomcat/tomcat_feedback
/root/tomcat/tomcat_search
/root/tomcat/tomcat_comment
/root/tomcat/tomcat_register32

造成该问题的原因是因为使用相对路径和绝对路径引起的。另外还有一种解决方法是,使用相对路径:

cd /root
tar czvf tomcat.tar.gz tomcat/

 注:相对和绝对路径报错是对于后面的备份目录来说的,而前面的包名称不受此影响。我们可以使用tar czvf /opt/tomcat.tar.gz tomat/同样是不会报错的。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: shell脚本学习 标签:
  1. 本文目前尚无任何评论.