首页 > 代码库 > 压缩和解压缩命令

压缩和解压缩命令

【题注】涉及压缩格式:

tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、

zip、unzip、rar、unrar

   试用文件注释:

.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar

【个人经验】

解压缩命令:

tar -d xxx.tar.xz

tar -xvf xxx.tar

tar -jxvf xxx.tar.bz2

tar -zxvf xxx.tar.gz

1 tar

   1.1 命令详解:

   主选项:

这五个是独立的命令,压缩解压都要只用到其中一个,可以和别的命令连用。下面的参数是根据需要在压缩或解压档案时可选的。

   -c 压缩

-x 解压

-t 查看内容

-r 向压缩归档文件末尾追加文件

-u 更新原压缩包中的文件

辅助选项:

-b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小。

-k 保存已经存在的文件。遇到相同的文件,不会进行覆盖。

-m 在还原文件时,把所有文件的修改时间设定为现在。

-M 创建多卷的档案文件,以便在几个磁盘中存放。

-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

-w 每一步都要求确认。

-z 用gzip来压缩/解压缩文件。

参数-f是必须的

-f 使用档案名字,这个参数是最后一个参数,后面只能接档案名。

   1.2 调用压缩程序:

1.2.1 gzip

# tar -czf all.tar.gz *.jpg  将所有.jpg文件打tar包,并用gzip压缩。

# tar -xzf all.tar.gz    解压拆包

1.2.2 bzip2

# tar -cjf all.tar.bz2 *.jpg  将所有.jpg的文件打成一个tar包,并用bzip2压缩。

# tar -xjf all.tar.bz2

1.2.3 compress 与 uncompress

# tar -cZf all.tar.Z *.jpg

# tar -xZf all.tar.Z

    1.3 总结:

1.3.1 .tar结尾的文件

   tar -xf all.tar

1.3.2 .gz结尾的文件

gzip -d all.gz

gunzip all.gz

1.3.3 .tgz或.tar.gz结尾的文件

tar -xzf all.tar.gz

tar -xzf all.tgz

1.3.4 .bz2结尾的文件

bzip2 -d all.bz2

bunzip2 all.bz2

1.3.5 .tar.bz2结尾的文件

tar -xjf all.tar.bz2

1.3.6 .Z结尾的文件

uncompress all.Z

1.3.7 .tar.Z结尾的文件

tar -xZf all.tar.z

1.3.8 .zip结尾的文件

# zip all.zip *.jpg  将所有.jpg的文件压缩成一个zip包

# unzip all.zip  将all.zip中的所有文件解压出来

1.3.9 .rar结尾的文件

要在linux下处理.rar文件,需要安装RAR for Linux,不是免费的,然后安装:

# tar -xzpvf rarlinux-3.2.0.tar.gz

# cd rar

# make

  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。

它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

# rar a all *.jpg  将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。

# unrar e all.rar  将all.rar中的所有文件解压出来

2 zip 与 unzip

  2.1 压缩

zip -r filename.zip ./*   将当前目录下所有文件和文件夹压缩成filename.zip文件

-r 表示递归压缩子目录下文件。

zip -d filename.zip file.txt 删除压缩包中file.txt文件

zip -m filename.zip ./file.txt 添加file.txt文件

zip -r filename.zip file1 file2 file3 /home 将三个文件打包filename.zip放到/home目录下

  2.2 解压

unzip -o -d /home filename.zip 将filename.zip文件解压缩到/home目录下,

-o 不提示覆盖文件

-d /home 指定解压目录