本文使用centos
为何要压缩?文件通过压缩后,其大小会缩小,能够节约服务器带宽资源、内存资源,节约运维成本!服务器
Linux平台的常见压缩文件格式有如下几种运维
虽然在Linux中文件后缀并不重要,可是为了便于区分和管理,压缩文件仍是最好加上上述的一些后缀名。工具
gzip不能压缩目录!!centos7
# 建立一个大文件 [root@localhost tmp]# find /etc/ -type f -exec cat {} >> 1.txt \; [root@localhost tmp]# ls -lh 总用量 25M -rw-r--r--. 1 root root 25M 11月 3 18:53 1.txt #压缩文件:gzip file [root@localhost tmp]# gzip 1.txt [root@localhost tmp]# ls -lh 总用量 9.3M -rw-r--r--. 1 root root 9.3M 11月 3 18:53 1.txt.gz #解压缩文件: gzip -d file.gz # gzip -d 等价于 gunzip [root@localhost tmp]# gzip -d 1.txt.gz [root@localhost tmp]# ls -lh 总用量 25M -rw-r--r--. 1 root root 25M 11月 3 18:53 1.txt
#以1级别进行压缩,默认压缩级别为9; # 压缩级别1-9,压缩级别越高,占用CPU资源越高 # gzip -[1-9] file [root@localhost tmp]# gzip -1 1.txt [root@localhost tmp]# ls -lh 总用量 9.9M -rw-r--r--. 1 root root 9.9M 11月 3 18:53 1.txt.gz
[root@localhost tmp]# gzip -c 1.txt > /test/tmp/1.txt.gz [root@localhost tmp]# ls -lh 总用量 34M -rw-r--r--. 1 root root 25M 11月 3 18:53 1.txt -rw-r--r--. 1 root root 9.3M 11月 3 19:04 1.txt.gz
# 注意最好使用绝对路径表示文件,清楚明白,固然相对路径表示也能够。 [[root@localhost tmp]# gzip -d -c /test/tmp/1.txt.gz > /test/tmp/2.txt [root@localhost tmp]# ls -l 总用量 34684 -rw-r--r--. 1 root root 9649736 11月 3 19:04 1.txt.gz -rw-r--r--. 1 root root 25865478 11月 3 19:22 2.txt
# 因为内容太多,这里只显示行数 [root@localhost tmp]# zcat 1.txt.gz | wc -l 176350
可使用file命令查看压缩文件的具体信息!code
[root@localhost tmp]# file 1.txt.gz 1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Fri Nov 3 18:53:55 2017, max speed
有些压缩文件被命名为不带压缩文件类型后缀的,这种文件没法解压,可使用file来查看文件类型,而后修改后缀,更好区分!!ip
[root@centos7 test]# mv 1.txt.bz2 1.txt [root@centos7 test]# file 1.txt 1.txt: bzip2 compressed data, block size = 900k [root@centos7 test]# mv 1.txt 1.txt.bz2
压缩率比gzip更高内存
未安装使用yum install -y bzip2资源
经常使用使用跟gzip命令相似,且一样不支持压缩目录ast
# 压缩前 [root@localhost tmp]# ls -lh 总用量 25M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt # bzip2压缩 [root@localhost tmp]# bzip2 1.txt # 压缩后,比gzip压缩率高 [root@localhost tmp]# ls -lh 总用量 8.2M -rw-r--r--. 1 root root 8.1M 11月 3 19:22 1.txt.bz2 # file命令查看文件格式 [root@localhost tmp]# file 1.txt.bz2 1.txt.bz2: bzip2 compressed data, block size = 900k # bzip2解压缩 [root@localhost tmp]# bzip2 -d 1.txt.bz2 [root@localhost tmp]# ls -lh 总用量 25M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt
[root@localhost tmp]# bzip2 -c 1.txt > 1.txt.bz2 [root@localhost tmp]# ls -lh 总用量 33M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt -rw-r--r--. 1 root root 8.1M 11月 3 20:04 1.txt.bz2
[root@localhost tmp]# bzip2 -d -c 1.txt.bz2 > 3.txt [root@localhost tmp]# ls -l 总用量 58816 -rw-r--r--. 1 root root 25865478 11月 3 19:22 1.txt -rw-r--r--. 1 root root 8491810 11月 3 20:04 1.txt.bz2 -rw-r--r--. 1 root root 25865478 11月 3 20:06 3.txt
bzip2一样能够指定压缩级别:1-9,默认级别为6 [root@localhost tmp]# bzip2 -1 1.txt [root@localhost tmp]# ls -lh 总用量 8.8M -rw-r--r--. 1 root root 8.8M 11月 3 19:22 1.txt.bz2
[root@localhost tmp]# bzcat 1.txt.bz2 | wc -l 176350
级别使用方法等同与上述的gzip和bzip2命令,一样也不能压缩目录!!
通常状况下,上述3种压缩方式:xz > bz2 > gzip
具体压缩要看文件内容,也不必定xz的压缩包最小
# 压缩 [root@localhost tmp]# xz 1.txt [root@localhost tmp]# ls -lh 总用量 7.0M -rw-r--r--. 1 root root 7.0M 11月 3 19:22 1.txt.xz # 解压缩 xz -d等价于unxz [root@localhost tmp]# xz -d 1.txt.xz [root@localhost tmp]# ls -lh 总用量 25M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt
[root@localhost tmp]# xz -c 1.txt > 1.txt.xz [root@localhost tmp]# ls -lh 总用量 32M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt -rw-r--r--. 1 root root 7.0M 11月 3 21:02 1.txt.xz
[root@localhost tmp]# xz -d -c 1.txt.xz > ./2.txt [root@localhost tmp]# ls -lh 总用量 57M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt -rw-r--r--. 1 root root 7.0M 11月 3 21:02 1.txt.xz -rw-r--r--. 1 root root 25M 11月 3 21:02 2.txt
[root@localhost tmp]# xzcat 1.txt.xz | wc -l 176350
[root@localhost tmp]# xz -1 2.txt [root@localhost tmp]# ls -lh 总用量 40M -rw-r--r--. 1 root root 25M 11月 3 19:22 1.txt -rw-r--r--. 1 root root 7.0M 11月 3 21:02 1.txt.xz -rw-r--r--. 1 root root 7.5M 11月 3 21:02 2.txt.xz