详细讲解 gzip、bzip2、xz、zip 和 tar 压缩工具的用法与区别
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