tar.gz/xz/bz2 怎么解压
 
tar 用法:tar最初是用来在磁带机上打包,现在tar可以打包任何文件,将多个文件和目录打包成一个文件,同时还支持 xz/bzip2/gzip 压缩,单独 tar 不具有压缩的功能,在打包的同时还想压缩,必须配合压缩参数使用
 tar [参数][选项]
  1. -v 详细显示处理的文件 ,显示处理的文件名称 
  2. -f 后面接要处理的文件或者目录,即打包和解包的档案名 该选项常规情况下为必选项,建议单独写该参数
  3. -c 创建新的包文件
  4. -x 解包或者解压缩,解压缩配合 -z j等选项
  5. -z 对 bzip 压缩的包进行打包或解压展开,文件名为 *.tar.gz
  6. -J 对 xz 压缩的包进行打包或解压展开,文件名为 *.tar.xz
  7. -j 对 bzip2 压缩的包进行打包或解压展开,问件名为 *.tar.bz2
  8. -Z 对compress 压缩的包进行打包或解压展开,文件名 *.tar.Z  由于compress 效率不高,现在基本上已经丢弃不用啦
  9. -t 显示包文件中的文件名称
  10. -r 将新的文件添加到已经打好的包中去
  11. -p 保留原来文件的属性和权限
  12 -P 保留文件中的绝对路径
  13 -C 指定解包到特定的目录
  14 -A 合并多个存档包
 
说明:
  其中 -f 选项指定要打包或解包的目标文件tar,解包缩必须选上,打包如果缺省,系统默认输出到标准输出,即屏幕上,如果不是纯文本文件就可能会出现那乱码,或者意想不到的错误,打包如果不指定 -f 选项,也可以用文件流重重定向  >
如:将 testa testb 文件打包成 test.tar
 
 
tar -cv testa testb> testa.tar
 
 
  并且 -f 选项后面必须紧跟文件,比 打包testa 必须写成 tar -cvf test.tar testa 不能写成 tar -cfv test.tar testa ,但是可以写成 tar -cvf test.tar testa 因为参数可以合并,只是建议将 -f 选项分开写,只要保证  -f 选项后面紧跟 文件就可以啦
 
1.打包多个文件 tar [选项参数] 目标文件 被打包文件
 
 
tar -cv -f test.tar testa testb  #打包当前文文件到当前目录
tar -cv -f /tmp/test.tar testa testb	#将当前文件夹的 testa testb打包到指定文件夹 /tmp/test.tar2.
 
 
  
2. 解压1中的包 tar [选项参数] 被解压的包
 
 
tar -xv -f test.tar  #解压到当前目录
tar -xv -f test.tar -C /tmp/mydir	#将test.dir 解包到 /tmp/mydir 目录下
 
 
 
3. 查看 tar 包中文件名
 
 
tar -tv -f test.tar  #查看test.tar 中的所有文件名
tar -tzv -f test.tar.gz		#查看  test.tar.gz 中所有文件名
 
 
 
4. 打包同时并用 xz bzip2 gzip 压缩成 ,如果解压,将 c 换成 x 即可
 
 
tar -cJv -f test.tar.xz testa testb  #将 testa testb 打包后用 xz 压缩成 test.tar.xz
tar -xJv -f test.tar.xz #解压 test.tar.xz 当当前目录

tar -cjv -f test.tar.bz2 testa testb#将 testa testb 打包后用 baip2 压缩成 teste.tar.bz2
tar -xjv -f test.tar.bz2 #将 test.tar.bz2 解压到当前目录

tar -czv -f test.tar.gz testa testb #将 testa testb 打包后用 gzip 压缩成 test.tar.gz
tar -xzv -f test.tar.gz #将 test.tar.gz 解压到当前目录

tar -cZv -f test.tar.Z testa testb #将 testa testb 打包后用 compress 压缩 test.tar.Z
tar -xZv -f test.tar.Z #将 test.tar.Z 解压到当前目录
 
 
  
5. 向已有的包添加新的文件
 
 
tar -rv -f test.tar testc #将testc添加到test.tar 包中
 
 
6. 合并多个包,合并后的包就是第一个包
 
 
tar -vA -f test1.tar test2.tar test3.tar #将 test1.tar test2.tar test3.tar 合并到第一包 test1.tar 此时test1.tar中包含 test1 test2 test3 这三个文件