压缩打包工具
压缩文件可以节省磁盘空间,提高传输效率,在移动端开发中尤为重要。
file
file用于识别文件类型。
[root@lwz dir1]# file 1.txt.gz 2.txt.bz2 3.txt.xz 4.txt
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Mon May 28 08:14:08 2018
2.txt.bz2: bzip2 compressed data, block size = 900k
3.txt.xz: XZ compressed data
4.txt: UTF-8 Unicode text
压缩工具
gzip
语法:
gzip [-d -c #] filename
参数:
-d:解压缩-c:将压缩后的文件输出到指定目录下,不更懂源文件#:压缩等级,1-9,数字越大压缩率越高,压缩时间越长,默认为9
注意:gzip不能压缩目录
示例:
# 压缩
$ gzip -c file.txt > file.txt.gz
# 解压缩
$ gzip -d file.txt.gz
# 查看gzip压缩包的内容
$ zcat file.txt.gz
bzip2
安装:
$ yum install -y bzip2
语法:
bzip2 [-d -z -c #] filename
参数:
-d:解压缩-z:压缩,不加-z选项也可以压缩#:压缩等级,1-9,数字越大压缩率越高,压缩时间越长,默认为9
注意:bzip2不能压缩目录。其用法和
gzip基本相同,效果比gzip好。
示例:
# 压缩
$ bzip2 -z file.txt
# 解压缩
$ bzip2 -d file.txt.bz2
xz
语法:
xz [-d -z -c] filename
示例:
# 压缩并保留源文件
$ xz -c filename
# 解压缩到指定路径并保留源文件
$ xz -d -c filename.xz > /root/filename
用法与
bzip2和gzip类似,压缩程度最大,默认为6。不可压缩目录。
zip
zip在windows和linux中都比较常用,可以压缩文件和目录;zip特点:zip压缩之后,源文件默认会保存。
安装:
$ yum install -y zip #压缩包
$ yum install -y unzip #解压缩包
语法:
$ zip [-r] filename.zip 源文件
$ unzip filename.zip
示例:
# 压缩单个或多个文件
$ zip filename.zip filename1 filename2 filename3
# 压缩多个文件或目录,压缩目录要加-r选项
$ zip -r filename.zip filename1 dirname1
# 解压缩
$ unzip filename.zip
# 解压缩到指定路径
$ unzip filename.zip -d /root/
zip解压文件不能指定文件名,压缩前是什么就是什么名字。
tar(打包工具)
tar可以把目录打包成一个文件,把所有文件整合成一个大文件,方便复制和移动。
语法:
tar [选项] filename
选项:
-c:创建压缩包-x:解压压缩包-f:指定目标文件名,如果多个选项组合使用,-f必须放在最后面-z:使用gzip压缩-j:使用bzip2压缩-J:使用xz压缩-t:查看压缩包内容-v:显示压缩过程-C:解压到指定路径--exclude=filename:表示打包除了filename文件之外的所有文件。也可以用--exclude filename表示。filename可以是目录、占位符*、正则表达式等,特殊符号需要用双引号引起来,例如"*.txt"。
示例:
# 打包
$ tar -cvf filename.tar filename
# 解包
$ tar -xvf filename.tar
# 查看压缩包内容
$ tar -tf filename.tar
# 打包/root目录并过滤/root目录下aa.txt文件和bb目录
$ tar -cvf filename.tar --exclude=/root/aa.txt --exclude=/root/bb /root
打包并压缩
# 打包的同时使用gzip压缩
$ tar -zcvf filename.tar.gz filename
# 解压
$ tar -zxvf filename.tar.gz
# 打包的同时使用bzip2压缩
$ tar -jcvf filename.tar.bz2 filename
# 解压
$ tar -jxvf filename.tar.bz2
# 打包的同时使用xz压缩
$ tar -Jcvf filename.tar.xz filename
# 解压
$ tar -Jxvf filename.tar.xz
# 打包的同时使用zip压缩
$ tar -cvf filename.tar.zip filename
# 解压
$ tar -xvf filename.tar.zip