您的位置:首页 > 运维架构 > Linux

Linux压缩与解压

2016-02-03 21:10 316 查看
    Linux系统中常见的压缩包格式有*.zip、*.jar、*.7z、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz等。尤其以tar格式最为常见。

   常见的压缩包格式.zip、.jar、.7z的用法如下:

zip格式
说明
压缩
zip –r压缩包文件名.zip源文件/目录名
-r参数代表递归
解压
unzip压缩包文件名.zip
 
jar格式
说明
压缩
jar –cvf压缩包文件名.jar源文件/目录名
 
解压
jar –xvf压缩包文件名
 
7z格式
说明
压缩
7z a压缩包文件名.7z源文件/目录名
 
解压
7z x压缩包文件名.7z
解压命令支持rar格式
  接下来着重介绍最为常见的压缩包格式.tar、.tar.gz、.tar.bz2、.tar.xz。在介绍压缩与解压之前,先说明一下打包的概念。打包是将多个文件或目录打包成一个文件,以便于压缩。Linux下最常见的打包命令是tar,打出来的包称为tar包,即是.tar结尾的包。生成tar包后,就能用其他的压缩命令来压缩了。

  先对带tar的压缩包格式做个简要说明总结:

格式
说明
*.tar
打包文件,即将多个文件或目录打包成一个文件
*.tar.gz
打包后经过gzip算法压缩后的文件
*.tar.bz2
打包后经过bzip2算法压缩后的文件
*.tar.xz
打包后经过xz算法压缩后的文件
  对tar命令的参数作简要说明总结:

参数
说明
-f, --file
新包的文件名
-c,--create
创建新的包
-x,--extract
解包、提取
-v,--verbose
详细信息,在压缩/解压的过程中显示文件
-t,
列出包中所有的文件
-z,
使用gzip、gunzip算法来压缩或解压
-j,
使用bzip2、bunzip2算法来压缩或解压
-J,
使用xz、unxz算法来压缩或解压
-p,
使用原文件的原来属性
-P,
使用绝对路径来压缩
-C,
用来指定解包或解压后文件所在的目录
--exclude FILE
压缩过程中不要将FILE打包
  利用tar命令及其参数组合,既可用于打包/解包,又可用于压缩/解压。

【1】打包/解包

用法
命令
说明
打包
tar -cvf fileall.tar file*
将file1、file2、file3等文件打包,并在打包过程中显示文件
解包
tar -xvf fileall.tar -C fileall
解出fileall.tar包中所有的文件到目录fileall中
查看
tar -tvf fileall.tar
查看包中所有的文件
【2】压缩/解压

用法
命令
说明
.tar.gz格式
压缩
gzip fileall.tar
利用已经打好包的文件直接压缩
解压
gunzip fileall.tar.gz
将fileall.tar.gz压缩包解压为fileall.tar
打包并压缩
tar zcvf fileall.tar.gz file*
将文件file1、file2、file3打包并用gzip算法压缩为fileall.tar.gz文件
解压
tar zxvf fileall.tar.gz -C /home
将fileall.tar.gz压缩包解压到/home目录下
.tar.bz2格式
压缩
bzip2 fileall.tar
利用已经打好包的文件直接压缩
解压
bunzip2 fileall.tar.bz2
将fileall.tar.bz2包解压成fileall.tar
打包并压缩
tar jcvf fileall.tar.bz2 file*
将文件file1、file2、file3打包并用bzip2算法压缩为fileall.tar.bz2文件
解压
tar jxvf fileall.tar.bz2 -C /home
将fileall.tar.bz2文件解压到/home目录
.tar.xz格式
压缩
xz fileall.tar
利用已经打好包的文件直接压缩
解压
unxz fileall.tar.xz
将fileall.tar.xz包解压成fileall.tar
打包并压缩
tar Jcvf fileall.tar.xz file*
将文件file1、file2、file3打包并用xz算法压缩为fileall.tar.xz文件
解压
tar Jxvf fileall.tar.xz -C /home
将fileall.tar.xz文件解压到/home目录下
    
附:

默认情况下,将压缩文件解压后的所有文件都与压缩文件在同一个目录下,所以一般情况下我们都需要自己指定解压目录。
一般从github或其他源码站下载的压缩文件,如*.tar.gz、*.tar.bz2等,其本身都是自带目录的,所以解压时会解压出同名目录,而不需要指定解压目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tar gzip bzip2 xz