众所周知,tar是将文件或目录打包,如:
tar -czvf davytest.tar.gz /home/zhaodw/davytest/data
但是,如果我在/home/zhaodw下,运行解压命令:
tar -xzvf davytest.tar
则在/home/zhaodw的路径下面,解压出/home/zhaodw/davytest/data,则在/home/zhaodw下有/home/zhaodw/davytest/data这样的路径及文件
但是,不好意思,我不想要/home/zhaodw/davytest/data这个路径,我只想将data的文件夹解压到/home/zhaodw中,要怎么办?
就是说我不想打包中有路径名只想将最后的文件,要怎么办?
另外记上一个参数:-C。运行如下命令:
tar -czvf davytest.tar.gz -C /home/otheruser
即把davytest.tar.gz的文件解压到/home/otheruser这个路径下,而不是在当前路径下
其中-czvf中的解释如下:
-c 建立一个新的文件
-z 自动使用 gzip 压缩,如果您用了这个选项,最好后缀使 .gz
-v 给出较多的讯息 (verbose)
-f 命令行的下一项是要建立的那个文件的名字或者要使用的设备的名字
-x 解开文件
其它觉得比较好的参数:
-r 增加文件 tar -rf davytest.tar davytest.html
即把davytest.html追加到davytest.tar中
但是,如果在tar的时候加上了参数z,则不可以用-r,会提示tar: Cannot append to compressed archive,可见追加只能到打包的文件中,不能到压缩的文件中
-u 更新文件,注意对压缩的文件不可用 tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
-t 列出文件,可对压缩的文件用 tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
评论