Linux 文件的打包压缩,常见压缩工具gzip
压缩和解压
压缩目的:为了节约磁盘空间。
常见压缩工具
gzip --- 后缀:.gz
bzip2 --- 后缀:.bz2
xz --- 后缀:.xz
compress --- 后缀: .z
#压缩比例:xz > bzip2 > gzip > compress
#以上这些工具只能对普通文件压缩,不能压缩目录文件。
zip --- 后缀:.zip #zip可以对 目录文件 进行压缩。且windows也支持zip格式
compress 和 uncompress
这个压缩命令来源于ncompress包,使用它压缩文件的时候会生成.z结尾的压缩文件。
#是一个不常用的压缩工具
gzip和gunzip
#gizp是应用最广泛的压缩工具,会生成.gz结尾的压缩文件。来源: gzip包
#gunzip:解压工具
#格式:
gzip [选项] 文件
# gzip常用选项:
-c 将压缩数据输出到标准输出中,并保留源文件
-d decompress。解压缩,相当于gunzip
-k, keep,保留源文件
范例
gzip -c messages >messages.gz #使用-c选项,为了不让压缩数据输出到屏幕上,而是重定向到压缩文件中,实现压缩文件时不删除源文件
gzip -c -d messages.gz > messages #-d:压缩目录文件
zcat messages.gz > messages #zcat:不解压文件的情况下看里面的内容
cat messages | gzip > m.gz
bzip2和bunzip2
#使用bzip2压缩文件会生成.bz2结尾的压缩文件,这个命令来源于bzip2包
#格式:
bzip2 [选项] 文件
#bzip2常用选项:
-d 解压缩
范例
压缩:
bzip2 filename
解压缩:
bunbzip2 filename
xz 和 unxz
#xz压缩文件会生成.xz结尾的压缩文件。这个命令来源于xz软件包
# 常用选项
-d 解压缩
#用法和gzip差不多
zip 和 unzip
#zip可以实现目录打包,多个文件合成一个文件压缩,生成.zip结尾的文件。但是可能会丢失属性信息,建议用tar代替.
#常用选项:
-r: 压缩目录文件的时候需要添加这个参数
-d: 解压到指定目录
#格式:
zip 压缩成的文件名 需要压缩的文件
范例:
#打包并压缩
zip -r /backup/sysconfig.zip /etc/sysconfig/
#默认解压缩至当前目录
unzip /backup/sysconfig.zip
#解压缩至指定目录,如果指定目录不存在,会在其父目录(必须事先存在)下自动生成
unzip /backup/sysconfig.zip -d /tmp/config
打包和解包
tar 工具
tar: Tape ARchive 磁带归档,实现对目录和多个文件打包一个文件,并且可以压缩,保留文件属性不丢失,常用于备份功能
#特点:
先把多个文件打成一个包,然后再进行指定格式压缩。
#格式
打包:
tar -cf 打包成的文件名.tar 需要打包的文件
#打包的过程不会压缩,只是把多个文件放在同一个包里面。
#-f必须放在参数的最后面,用于指定打包成的文件
解包:
tar -xf 包名
#把一个包拆开,露出里面的文件。
打包的时候进行压缩:
tar -czf或-cjf 需要压缩的文件
#z表示采用gzip这个工具来压缩,j表示采用bzip2这个工具来压缩
解包的时候进行解压:
tar -xzf或zjf 需要解压的文件
#默认解到当前目录下,需要解压到指定位置,可以使用 -C 指定。
查看包里面有那些文件:
tar -tf 需要查看的文件
tar的常用选项:
-f: 打包成一个文件
-v: 显示过程
-c:打包
-x:解压文件
-z:默认调用gzip命令来进行压缩
-j:调用bzip2命令来进行压缩
-C:指定路径
-p:保留原始属性和权限
split工具
作用:大文件切割成多个小文件。
#选项:
-b: 指定大小 --- -b size
-d: 需要进行切割的文件,切割出来的文件会自动加数字结尾
范例
#分割大的 tar 文件为多份小文件
split -b Size –d tar-file-name prefix-name
#切割完成后组合成大文件的方法: --- 重定向
cat file1 ... filen > filename
cpio
历史悠久的打包工具,目前很少使用。
评论暂时关闭