我用这个命令:tar zcvf chao.tar.gz /chao/* 打包文件的时候,在压缩包里把 /chao/这个路径也打包进去了。
[root@yunwei-test chao]# ls /chao/ 01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt 08.txt 09.txt 10.txt [root@yunwei-test chao]# tar zcvf /tar/chao.tar.gz /chao/* tar: Removing leading `/' from member names /chao/01.txt /chao/02.txt /chao/03.txt /chao/04.txt /chao/05.txt /chao/06.txt /chao/07.txt /chao/08.txt /chao/09.txt /chao/10.txt [root@yunwei-test chao]# ls /tar/ chao.tar.gz #解压 [root@yunwei-test chao]# cd /tar/ [root@yunwei-test tar]# ls chao.tar.gz [root@yunwei-test tar]# tar xf chao.tar.gz [root@yunwei-test tar]# ls chao chao.tar.gz [root@yunwei-test tar]# cd chao/ [root@yunwei-test chao]# ls 01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt 08.txt 09.txt 10.txt
我想不要路径,我不想切换目录过去,而又只想打包指定目录下的文件。 使用 -C 参数。
##打包
[root@yunwei-test chao]# tar zcvf /tar/chao.tar.gz -C /chao . ./ ./01.txt ./02.txt ./03.txt ./04.txt ./05.txt ./06.txt ./07.txt ./08.txt ./09.txt ./10.txt [root@yunwei-test chao]# ls /tar/ chao.tar.gz [root@yunwei-test chao]# cd /tar/ [root@yunwei-test tar]# ls chao.tar.gz
#解压 [root@yunwei-test tar]# tar xvf chao.tar.gz ./ ./01.txt ./02.txt ./03.txt ./04.txt ./05.txt ./06.txt ./07.txt ./08.txt ./09.txt ./10.txt [root@yunwei-test tar]# ls 01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt 08.txt 09.txt 10.txt chao.tar.gz
##在解压的时候 -C 是解压到指定目录中。