首页 > 代码库 > tar

tar

-C 参数适用

zzx@sdcm152:~/zzx1$ tar -zcvf cat1.tar.gz -C /home/zzx  cat1        # 备份    注意  /home/zzx 与cat1之间空格       备份目录zzx下的cat1文件到本目录下(/home/zzx/zzx1)
cat1
zzx@sdcm152:~/zzx1$ ls
1 2 aaa.bjasd.shf cat1.tar.gz

zzx@sdcm152:~/zzx1$ pwd
/home/zzx/zzx1 

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

zzx@sdcm152:~$ pwd
/home/zzx
zzx@sdcm152:~$ tar -zxf /home/zzx/zzx1/cat1.tar.gz -C /home/zzx/tartest/  #    还原      在/home/zzx目录下   把/zzx/zzx1下的文件cat1.tar.gz 还原到 /zzx/tartest下
zzx@sdcm152:~$ cd tartest/
zzx@sdcm152:~/tartest$ ls
aaa1.tar.gz aaa.bjasd.shf aaa.tar.gz abc.tar.gz cat1

 

 

 

参考

问题:在/home/usr1目录下,想要打包/home/usr2目录中的文件file2,应该使用什么样的tar命令?

解答1:
$ tar -cvf file2.tar /home/usr2/file2
tar: Removing leading ‘/‘ from members names
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录‘/‘被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$ tar -xvf file2.tar
$ ls
…… …… home …… …… 
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。

tar