今天在linux下用tar压缩文件的时候,发现压缩过去会带着文件原来的绝对路径,因此在linux上重新写了一份相关demo,首先创建tar_demo文件夹
mkdir tar_demo
再创建两个txt文件
touch 1.txt
touch 2.txt
压缩这两个文件到test.tar中
tar -cvf /home/ubuntu/test.tar /home/ubuntu/tar_demo/*.txt
再创建准备解压放的文件夹untar_demo,并将test.tar解压至该文件夹(这里的C一定要大写,linux大小写敏感)
mkdir untar_demo
tar -xvf test.tar -C untar_demo
此时得到的untar_demo文件夹下其实是带有文件路径的文件夹
他的实际内容是home/ubuntu/1.txt(这里我不知道怎么在CSDN写出来文件树的结构,并且命令行没有可视化界面,因此表述可能有一定问题)
如果不想要文件路径,只需要1. txt和2.txt就需要在压缩的时候,用相对路径,而不能用绝对路径
tar -cvf /home/ubuntu/test2.tar *.txt
这个时候再解压
tar -xvf test2.tar -C untar_demo
可以正确地得到只有压缩的文件存在的文件夹