Linux 压缩包管理、解压、压缩归档,压缩原理。
压缩打包
格式 | 压缩工具 |
---|---|
.zip | zip压缩工具 |
.gz | gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.bz2 | bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.tar.gz | 先使用tar命令归档打包,然后使用gzip压缩 |
.tar.bz2 | 先使用tar命令归档打包,然后使用bzip压缩 |
gzip
yum -y install gzip Usage: gzip [OPTION]... [FILE]... gzip 文件名压缩。 gzip -d 解压 # 特点 1、只能压缩文件,不能压缩目录 2、压缩之后源文件会消失 3、解压文件之后压缩包会消失 4、多个文件gzip会单个的打包文件,压缩比率大 5、使用zcat 可以直接查看文件内容 6、打包的文件在哪个路径下,就把包放在源文件所在的目录中 [root@oldboy tmp]# gzip test.txt 创建压缩文件 [root@oldboy tmp]# gzip -d test.txt.gz 解压缩 [root@oldboy tmp]# zcat test.txt.gz 查看文件
zip
zip [-options] [filename] [zipfile list] zip 行李箱 衣服 -r 打包目录 -q 打包的过程不显示输出 1、zip压缩文件,源文件不会消失。 2、zip解压后,如果目录下存在和压缩包内相同的文件名,则询问是否覆盖 3、zip压缩目录,什么参数都不加的情况下,只能打包空目录,如果想打包目录要加 -r 4、如果打包的是绝对路径会把绝对路径的内容都打包进去,并且删除/,打包在哪个目录下执行就会打包在哪个目录下。 # 注:zip压缩删根是为了防覆盖。 file 文件名 # 查看文件类型 [root@oldboy tmp]# zip test.zip test.txt 压缩包 [root@oldboy tmp]# unzip test.zip 解压 [root@oldboy tmp]# zip -r etc.zip /etc 打包目录
tar
# 归档工具 Usage: tar [OPTION...] [FILE]... tar的选项不需要加 - -c 创建新的归档文件 -x 解压归档文件 -f 指定包的文件名,如果是多个选项,f一点要放在最后 -v 显示过程 -z 归档之后使用gzip压缩 -P 对绝对路径的操作不删除根目录 -t 查看压缩包中的压缩项目 -C 指定解压缩路径 -j bzip2 -J xz -h 打包软链接 -X 指定排除的目录或文件,将排除的文件或目录写到文件中 --exclude=123 排除123指定的文件或者目录 # 注意:解压的时候会覆盖文件 [root@oldboy tmp]# tar -czvf etc.tar.gz /etc 创建tar.gz的包 [root@oldboy tmp]# tar -xzvf etc.tar.gz 解压创建tar.gz的包 [root@oldboy opt]# tar -xzvf etc.tar.gz -C /opt 指定解压目录 [root@oldboy tmp]# tar -czvPf etc1.tar.gz /etc 打包绝对路径 [root@oldboy tmp]# tar -tf log.var.gz 查看压缩文件里面的项目 [root@oldboy tmp]# tar -cjf log.tar.bz2 /var/log/ 压缩tar.bz2 [root@oldboy tmp]# tar -xf log.tar.bz2 解压tar.bz2 [root@oldboy tmp]# tar -cJf log.tar.xz /var/log/ 压缩tar.xz [root@oldboy tmp]# tar -xf log.tar.xz 解压 [root@oldboy tmp]# tar -czvf gd.tar.gz * --exclude=services 排除文件 [root@oldboy tmp]# tar -czvf gd.tar.gz * --exclude=services --exclude=hosts [root@oldboy tmp]# tar -czvf gd.tar.gz -X /mnt/exc_list * 指定排除文件