/bin/tar: 从成员名中删除开头的“/”
今天在使用tar进行打包时,发现报了‘从成员名中删除开头的“/”’的错误。我使用的打包语句如下:
1[root@bj~]# tar czvf test.tar.gz /root/tomcat/
2tar: 从成员名中删除开头的“/”
3/root/tomcat/
4/root/tomcat/tomcat_spider
5/root/tomcat/tomcat_generator
6/root/tomcat/tomcat_cms
7/root/tomcat/tomcat_biz
8/root/tomcat/tomcat_mgrab
9/root/tomcat/tomcat_register
10/root/tomcat/tomcat_expert
11/root/tomcat/tomcat_monitor
12/root/tomcat/tomcat_generator.bak
13/root/tomcat/tomcat_sgapp
14/root/tomcat/tomcat_enterprise
15/root/tomcat/tomcat_jjhadmin
16/root/tomcat/tomcat_passport
17/root/tomcat/tomcat_usercenter
18/root/tomcat/tomcat_mws
19/root/tomcat/tomcat_crawl
20/root/tomcat/tomcat_bbs
21/root/tomcat/tomcat_feedback
22/root/tomcat/tomcat_search
23/root/tomcat/tomcat_comment
24/root/tomcat/tomcat_register32
于是赶快的看tar的help手册和man手册。发现使用-P(大写)参数后可以解决这个问题:使用后,果然没再报错:
1[root@bj ~]# tar czPvf test.tar.gz /root/tomcat/
2/root/tomcat/
3/root/tomcat/tomcat_spider
4/root/tomcat/tomcat_generator
5/root/tomcat/tomcat_cms
6/root/tomcat/tomcat_biz
7/root/tomcat/tomcat_mgrab
8/root/tomcat/tomcat_register
9/root/tomcat/tomcat_expert
10/root/tomcat/tomcat_monitor
11/root/tomcat/tomcat_generator.bak
12/root/tomcat/tomcat_sgapp
13/root/tomcat/tomcat_enterprise
14/root/tomcat/tomcat_jjhadmin
15/root/tomcat/tomcat_passport
16/root/tomcat/tomcat_usercenter
17/root/tomcat/tomcat_mws
18/root/tomcat/tomcat_crawl
19/root/tomcat/tomcat_bbs
20/root/tomcat/tomcat_feedback
21/root/tomcat/tomcat_search
22/root/tomcat/tomcat_comment
23/root/tomcat/tomcat_register32<
造成该问题的原因是因为使用相对路径和绝对路径引起的。另外还有一种解决方法是,使用相对路径:
1cd /root
2tar czvf tomcat.tar.gz tomcat/
注:相对和绝对路径报错是对于后面的备份目录来说的,而前面的包名称不受此影响。我们可以使用tar czvf /opt/tomcat.tar.gz tomat/同样是不会报错的。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/tar-error/1550.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.