欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

详细讲解 gzip、bzip2、xz、zip 和 tar 压缩工具的用法与区别

最编程 2024-02-23 16:59:10
...

gzip压缩工具

•gzip 1.txt :压缩1.txt

• gzip -d 1.txt.gz / gunzip 1.txt.gz :解压缩1.txt.gz

• gzip -# 1.txt  //#范围1-9,默认6 :压缩等级

• 不能压缩目录

• zcat 1.txt.gz :直接查看压缩内容

• gzip -c 1.txt > /root/1.txt.gz :压缩文件到指定目录并不删除原文件

• gzip -cd /root/1.txt.gz > /tmp/2.txt :解压缩文件到指定目录重命名并不删除原文件

bzip2压缩工具

•bzip2 1.txt  / bzip2 -z 1.txt

• bzip2 -d 1.txt.bz2 / bunzip2 1.txt.bz2

• bzip -# 1.txt  //#范围1-9,默认9

• 不能压缩目录

• bzcat 1.txt.bz2

• bzip2 -c 1.txt > /root/1.txt.bz2

• bzip2 -cd /root/1.txt.bz2 > /tmp/2.txt

xz压缩工具

• xz 1.txt  / xz -z 1.txt

• xz -d 1.txt.xz / unxz 1.txt.xz

• xz -# 1.txt  //#范围1-9,默认9

• 不能压缩目录

• xzcat 1.txt.xz

• xz -c 1.txt > /root/1.txt.xz

• xz -d -c /root/1.txt.xz > 2.txt

总结:

gzip,bzip,xz压缩所使用命令几乎一样,唯一不同的就是压缩力度

实例:压缩力度:xz > bzip > gzip

压缩:
  • gizp 1.txt
  • bzip2 1.txt
  • xz 1.txt
解压缩:
  • gzip -d 1.txt.gz
  • bzip2 -d 1.txt.bz2
  • xz -d 1.txt.xz
直接查看压缩包内容:
  • zcat 1.txt.gz
  • bzcat 1.txt.bz2
  • xzcat 1.txt.xz
查看压缩包详细信息:
  • file 1.txt.gz
  • file 1.txt.bz2
  • file 1.txt.xz
压缩/解压缩保留源文件:

gzip:

  • gzip -c 1.txt > /root/1.txt.gz :-c 保留源文件 :> 重定向
  • gzip -cd /root/1.txt.gz > /tmp/2.txt

bzip:

  • bzip2 -c 1.txt > /root/1.txt.bz2
  • bzip2 -cd /root/1.txt.bz2 > /tmp/2.txt

xz:

  • xz -c 1.txt > /root/1.txt.xz
  • xz -cd /root/1.txt.xz > /tmp/2.txt

zip压缩工具

• zip 1.txt.zip  1.txt 格式: zip 压缩包名 源文件

• zip -r 123.zip  123/ 压缩目录需要 -r

• unzip 1.txt.zip 压缩、解压缩源文件均不删除

• unzip 123.zip -d /root/456/ -d:解压到指定目录

• unzip -l 123.zip 查看123目录内的列表

zip可以压缩目录+文件

安装zip包: #yum install -y zip

安装unzip包: #yum install -y unzip

不可以直接查看文件的内容

tar打包工具

tar打包不会改变文件的大小。即打包不压缩

• tar -cvf 123.tar 123           :-v 可视化 -c 创建 -f 文件 打包后源文件不消失

• tar -cvf aming.tar 1.txt 123

• tar -xvf aming.tar             :-x 解压缩

• tar -tf aming.tar                :查看包内的文件

• tar -cvf aming.tar –exclude 1.txt –exclude 2 123

• tar -vcf aming.tar –exclude 22 “*.txt” 123          :*.txt 通配所有以.txt 结尾的txt文档

tar打包并压缩

• tar -zcvf 123.tar.gz 123                    :打包并使用gzip压缩,-z:使用gzip

• tar -zxvf 123.tar.gz                           :解压缩

• tar -jcvf 123.bz2  123                       :打包并使用bzip2压缩,-j:使用bzip2

• tar -jxvf 123.bz2

• tar -Jcvf 123.xz 123                         :打包并使用xz压缩,-J:使用xz

• tar -Jxvf 123.xz

• tar -tf 123.bz2 / tar -tf 123.gz / tar -tf 123.xz           :查看包内的文件

tar --exclude 444 --exclude 5.txt -zcvf 3.tar.gz 111 222
打包和压缩111,222目录到3.tar.gz 但是排除111目录内的444子目录和5.txt
# tar -C /tmp/ -xvf 1.tar
解压1.tar包并把文件放在指定的/tmp目录下

扩展提高

以前没有注意过,linux竟然不支持大于4G的zip文件的解压。error: Zip file too big (greater than 4294959102 bytes)

解决办法如下:
wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.i386.rpm 
wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.i386.rpm
下载完后安装:
rpm -ivh p7zip-9.13-1.el5.rf.i386.rpm 
rpm -ivh p7zip-plugins-9.13-1.el5.rf.i386.rpm
解压命令: 7z x  123.zip