6.1 压缩打包介绍
6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具
6.1 压缩打包介绍
常见的压缩文件
如windows系统:.rar .zip .7z
linux系统:.zip, .gz, .bz2, .xz, .tar.gz, .tar.xz
在什么时候需要用到压缩打包文件呢?
一般当要传大型文件或者目录十分多的时候,都会把文件进行压缩,减少空间,方便上传或者拷贝。当然如果不进行压缩,上传也是可以的,但是由于现在的技术和经济条件导致宽带的资费很好,机房的宽带资费更高,而且服务器上的存储也是宝贵的资源,所以不能浪费,就要压缩打包,这样加快了时间。
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
6.2 gzip压缩工具
介绍
gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。它是Jean-loupGailly和MarkAdler一起开发的。第一次公开发布版本是1992年10月31日发布的版本0.1,1993年2月发布了版本1.0。
使用方法演示:
[root@centos7 ~]# cd /tmp/ #进入/tmp/目录下 [root@centos7 tmp]# touch 1.txt #创建1.txt文件 [root@centos7 tmp]# ls -l 1.txt #查看1.txt文件大小 -rw-r--r--. 1 root root 0 11月 9 21:29 1.txt #可以看出文件为0 #做一个准备工作,把/etc/目录后缀名为conf文件 全部追加到/tmp/1.txt里面 [root@centos7 tmp]# sudo find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \; #可以多追加几遍 由于我这里提示不够权限 加了sudo命令来执行 [root@centos7 tmp]# ls -lh 1.txt -rw-r--r--. 1 root root 1.8M 11月 9 21:58 1.txt #文件已经达到1.8M了 [root@centos7 tmp]# gzip 1.txt #执行压缩 [root@centos7 tmp]# ls -lh 1.txt.gz #查看大小 -rw-r--r--. 1 root root 454K 11月 9 21:58 1.txt.gz #现在只有454K了 #解压 [root@centos7 tmp]# gzip -d 1.txt.gz [root@centos7 tmp]# gunzip 1.txt.gz [root@centos7 tmp]# ls -lh 1.txt -rw-r--r--. 1 root root 1.8M 11月 9 21:58 1.txt #设置压缩级别 一般不进行操作按默认即可 gzip -# 1.txt //#范围1-9 ,默认6 #上述的命令执行过程中会删除源文件 #不能压缩目录 [root@centos7 tmp]# zcat 1.txt.gz #查看文件内容 #指定目录位置 [root@centos7 tmp]# mkdir a [root@centos7 tmp]# gzip -c 1.txt > /tmp/a/1.txt.gz [root@centos7 tmp]# ls -lh /tmp/a/1.txt.gz -rw-r--r--. 1 root root 454K 11月 9 22:11 /tmp/a/1.txt.gz [root@centos7 tmp]# ls -lh 1.txt #不删除源文件 -rw-r--r--. 1 root root 1.8M 11月 9 21:58 1.txt [root@centos7 tmp]# gunzip -c /tmp/a/1.txt.gz > /tmp/1.txt.new #解压文件保留源文件 [root@centos7 tmp]# ls -lh 1.txt.new -rw-r--r--. 1 root root 1.8M 11月 9 22:16 1.txt.new
6.3 bzip2压缩工具
使用bzip2压缩工具需要进行安装
[root@centos7 tmp]# yum install -y bipz2
用法如下:
[root@centos7 tmp]# ls 1.txt.bz2 newdisk [root@centos7 tmp]# bzip2 1.txt #或者bzip2 -z 1.txt命令 [root@centos7 tmp]# ls 1.txt.bz2 newdisk #bzip -# 1.txt //#范围1-9 ,默认9 #不能压缩目录 [root@centos7 tmp]# bzcat 1.txt.bz2 #查看文件内容 [root@centos7 tmp]# bzip2 -c 1.txt > /tmp/a/1.txt.bz2 #指定目录位置 [root@centos7 tmp]# bzip2 -d 1.txt.bz2 #可以使用bunzip2 1.txt.bz2命令 bzip2: Can't open input file 1.txt: No such file or directory. [root@centos7 tmp]# ls /tmp/a/1.txt.bz2 /tmp/a/1.txt.bz2 #解压 [root@centos7 tmp]# bzip2 -c -d /tmp/a/1.txt.bz2 > /tmp/1.txt.new2
6.4 xz压缩工具
xz是一种压缩文件格式,采用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或·tgz)小30%,较·bz2小15%。
在使用中需要安装
[root@centos7 tmp]# yum install -y zip
[root@centos7 tmp]# zip 1.txt.zip 1.txt.new adding: 1.txt.new (deflated 75%) [root@centos7 tmp]# zip -r a.zip a/ adding: a/ (stored 0%) adding: a/1.txt.bz2 (stored 0%) [root@centos7 tmp]# ls a systemd-private-a5414955458d48b4b4c21658bbcbccd5-vgauthd.service-788vfb a.zip systemd-private-a5414955458d48b4b4c21658bbcbccd5-vmtoolsd.service-Qs4kXe #压缩文件夹 不删除源文件 [root@centos7 tmp]# yum install -y unzip #解压需要安装 [root@centos7 tmp]# unzip 1.txt.zip #解压 Archive: 1.txt.zip replace 1.txt.new? [y]es, [n]o, [A]ll, [N]one, [r]ename: y #询问 inflating: 1.txt.new [root@centos7 tmp]# unzip a.zip -d /tmp/a_1/ #解压目录并重命名 Archive: a.zip creating: /tmp/a_1/a/ extracting: /tmp/a_1/a/1.txt.bz2 [root@centos7 tmp]# ls #查看目录 1.txt.new mewdisk 1.txt.new2 newdisk 1.txt.zip systemd-private-a5414955458d48b4b4c21658bbcbccd5-chronyd.service-jTqiB7 a systemd-private-a5414955458d48b4b4c21658bbcbccd5-vgauthd.service-788vfb a_1 systemd-private-a5414955458d48b4b4c21658bbcbccd5-vmtoolsd.service-Qs4kXe a.zip user.111 [root@centos7 tmp]# unzip -l a.zip #查看文件列表 Archive: a.zip Length Date Time Name --------- ---------- ----- ---- 0 11-09-2017 22:36 a/ 0 11-09-2017 22:36 a/1.txt.bz2 --------- ------- 0 2 files #可以看到源文件没有删除
转载于:https://blog.51cto.com/3622288/1980321