在Linux的使用中,压缩和解压还是比较常用的操作,掌握好相关命令还是必要的,看一下常用的压缩命令:gz, bz2, xz, Z, zip。我们要知道不同压缩命令的压缩算法,所带来的压缩比例也是不同的。本文主要介绍压缩和归档命令的使用。


一、常用的压缩和解压命令(解压默认是当前目录,可以 -C 指定其它目录)

1、.tar.gz文件压缩和解压

1)压缩成.tar.gz文件;归档并且gzip压缩。

tar -zcf  target.tar.gz ./sourcedir

2)解压.tar.gz文件;解压文件和归档

tar -zxf target.tar.gz

2、.tar.bz2文件压缩和解压

1)压缩成.tar.bz2文件;归档并且bzip2压缩。

tar -jcf  target.tar.bz2 ./sourcedir

2)解压.tar.bz2文件;解压文件和归档。

tar -jxf target.tar.bz2

3、.tar.xz文件压缩和解压

1)压缩成.tar.xz文件;归档并且xz压缩。

tar -Jcf  target.tar.xz ./sourcedir

2)解压.tar.xz文件;解压文件和归档。

tar -Jxf target.tar.xz

二、gzip、bzip2、命令详解

1、gzip命令

gzip:.gz
gzip /PATH/TO/SOMEFILE: 压缩指定文件,压缩完成后会删除原始文件。
gzip -d: 解开压缩文件
-num:用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
gunzip:
gunzip /PATH/TO/SOMEFILE.gz: 解压指定文件,解压完成后会删除原始文件。
zcat /PATH/TO/SOMEFILE.gz: 查看压缩包中的文本文件的内容。

2、bzip2命令

bzip2:.bz2
bzip2比gzip更大的压缩比,使用格式近似。
bzip2 /PATH/TO/SOMEFILE
-d:解开压缩文件。
-#:用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
-k:压缩保留原始文件
bunzip2 /PATH/TO/SOMEFILE.bz2: 解压指定文件,解压完成后会删除原始文件。
bzcat /PATH/TO/SOMEFILE.gz: 查看压缩包中的文本文件的内容。

3、xz命令

xz:.xz
xz /PATH/TO/SOMEFILE
-d:解开压缩文件。
-#:用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
-k:压缩保留原始文件。
unxz /PATH/TO/SOMEFILE.bz2:解开压缩文件。
xzcat /PATH/TO/SOMEFILE.gz:查看压缩包中的文本文件的内容。

4、zip命令

zip:.zip
zip:tools for both archive and compression
zip FILENAME.zip FILE1 FILE2 ... :压缩指定文件,压完后不删除原文件。
unzip FILENAME.zip:解开压缩文件。

5、tar命令

归档本身并不意味着压缩。
tar:仅文件归档不压缩。
-c:创建归档文件
-f FILE.tar:使用此选项应该注意,-f后应该直接紧跟文件名字。

例如,

错误用法,

"tar -zcvfP tfile sfile"

正确用法,

"tar -zcvPf tfile sfile"

例如:

压缩

tar -zcf a.tar.gz ./work/

解压

tar -zxf a.tar.gz

解压到指定目录

tar -zxf a.tar.gz -C /home