tar: Removing leading '/' from member names

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/magi1201/article/details/75208047


RT

tar: Removing leading '/' from member names

去除文件名中前导的根目录“/”,tar 命令在压缩文件时,默认会取相对路径,不会取从根路径下来的绝对路径,所以,如果待压缩的源路径是绝对路径,便会报该错误


[zhangqi@bogon Desktop]$ tar -zcvf abc.tar.gz shellscript/*shellscript/for_ex1.sh
shellscript/for_ex2.sh
shellscript/for_ex3.sh
shellscript/for_ex4.sh
shellscript/for_ex5.sh
shellscript/for_ex6.sh
[zhangqi@bogon Desktop]$ tar -zcvf bcd.tar.gz /home/zhangqi/Desktop/shellscript/*
tar: Removing leading `/' from member names
/home/zhangqi/Desktop/shellscript/for_ex1.sh
/home/zhangqi/Desktop/shellscript/for_ex2.sh
/home/zhangqi/Desktop/shellscript/for_ex3.sh
/home/zhangqi/Desktop/shellscript/for_ex4.sh
/home/zhangqi/Desktop/shellscript/for_ex5.sh
/home/zhangqi/Desktop/shellscript/for_ex6.sh
[zhangqi@bogon Desktop]$ 
[zhangqi@bogon Desktop]$ ll
total 16
-rw-rw-r--. 1 zhangqi zhangqi  491 Jul 16 17:03 abc.tar.gz
-rwxrw-r--. 1 zhangqi zhangqi  319 Jul 16 15:44 backup.sh
-rw-rw-r--. 1 zhangqi zhangqi  516 Jul 16 17:04 bcd.tar.gz
drwxrwxr-x. 2 zhangqi zhangqi 4096 Jul 16 15:00 shellscript
[zhangqi@bogon Desktop]$ 

可以看到,第二次执行命令tar -zcvf bcd.tar.gz /home/zhangqi/Desktop/shellscript/* 时报错,但是后面的文件是正常生成的。


如何解决这个报错呢,可以通过man tar 命令来查看,里面有一个参数大写的“P”

P 后备注为absolute-names 绝对名称,可以理解为绝对路径

下面注释为 don’t strip leading ‘/’s from file names 不从文件名中剥离“/


再对上面命令做修改

[zhangqi@bogon Desktop]$ tar -zcvfP cde.tar.gz /home/zhangqi/Desktop/shellscript/*
tar: cde.tar.gz: Cannot stat: No such file or directory
tar: Removing leading `/' from member names
/home/zhangqi/Desktop/shellscript/for_ex1.sh
/home/zhangqi/Desktop/shellscript/for_ex2.sh
/home/zhangqi/Desktop/shellscript/for_ex3.sh
/home/zhangqi/Desktop/shellscript/for_ex4.sh
/home/zhangqi/Desktop/shellscript/for_ex5.sh
/home/zhangqi/Desktop/shellscript/for_ex6.sh
tar: Exiting with failure status due to previous errors
[zhangqi@bogon Desktop]$ ll
total 20
-rw-rw-r--. 1 zhangqi zhangqi  491 Jul 16 17:03 abc.tar.gz
-rwxrw-r--. 1 zhangqi zhangqi  319 Jul 16 15:44 backup.sh
-rw-rw-r--. 1 zhangqi zhangqi  516 Jul 16 17:04 bcd.tar.gz
-rw-rw-r--. 1 zhangqi zhangqi  516 Jul 16 17:12 P
drwxrwxr-x. 2 zhangqi zhangqi 4096 Jul 16 15:00 shellscript
[zhangqi@bogon Desktop]$ tar -zcvPf cde.tar.gz /home/zhangqi/Desktop/shellscript/*
/home/zhangqi/Desktop/shellscript/for_ex1.sh
/home/zhangqi/Desktop/shellscript/for_ex2.sh
/home/zhangqi/Desktop/shellscript/for_ex3.sh
/home/zhangqi/Desktop/shellscript/for_ex4.sh
/home/zhangqi/Desktop/shellscript/for_ex5.sh
/home/zhangqi/Desktop/shellscript/for_ex6.sh
[zhangqi@bogon Desktop]$ ll
total 24
-rw-rw-r--. 1 zhangqi zhangqi  491 Jul 16 17:03 abc.tar.gz
-rwxrw-r--. 1 zhangqi zhangqi  319 Jul 16 15:44 backup.sh
-rw-rw-r--. 1 zhangqi zhangqi  516 Jul 16 17:04 bcd.tar.gz
-rw-rw-r--. 1 zhangqi zhangqi  518 Jul 16 17:13 cde.tar.gz
-rw-rw-r--. 1 zhangqi zhangqi  516 Jul 16 17:12 P
drwxrwxr-x. 2 zhangqi zhangqi 4096 Jul 16 15:00 shellscript
[zhangqi@bogon Desktop]$ 

通过示例可以看到,大写的P 不可以加到最后,需要加到f 前面,至于为何不可,尚未查到具体原因,有知道的小伙伴请不吝赐教,谢谢。


猜你喜欢

转载自blog.csdn.net/magi1201/article/details/75208047