when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
在用 tar 打包一个文件夹的时候,发现了一个问题,因为这个文件夹的层级比较深,直接 tar -czvf ./test.tar.gz /path/to/dir 以后,在用 tar xzvf ./test.tar.gz 解压的时候就发现了问题,它居然在当前目录下生成了 ./path/to/dir 文件夹来保存解压后的文件
这显然不是我要的结果,既然我从某个路径把它打包了,解压的时候自然是希望可以直接将 dir 解压在当前目录下,生成 ./dir 就可以,所以现状下应该怎么办?
这时候需要在打包的时候使用参数 -C,通过切换目录的方式解决这个问题
1 | $ tar -czvf ./test.tar.gz -C /path/to dir |
此外,解释下上文中使用的几个参数
对了对了,忘记说说标题了,想了挺久,都没办法准确的几个字描述完整自己遇到的问题,原来想的是,tar 打包的时候去掉深度层级,但是感觉怪怪的,后来想到 basename 是可以描述当前目录的,所以就写成了 tar 从 basename 打包,但是当我想要解释这个标题的时候,似乎又有了更好的标题 “tar 打包的时候去除上层路径”,好像不是,去除上层路径这个结果只有在解包的时候才能显现,算了,不改了,标题就这个吧
be slow to promise and quick to perform.