2018-1-5 4周4次课 压缩工具 gzip、bzip2、xz

6.1 压缩打包介绍

常用压缩文件

·Windows .rar .zip .7z

·Linux .zip .gz .bz2 .xz .tar .gz .tar .bz2 tar .xz

Linux下后缀名并没有Windows不重要,但是需要通过后缀名来判断压缩包是类型的文件




6.2 gzip压缩工具

Linux下常用的压缩工具:gzip,bzip2,xz,zip,tar

·gizp压缩工具

首先准备一个文件

[[email protected] ~]# cd /tmp/
[[email protected] tmp]# mkdir d6z
[[email protected] tmp]# cd d6z/
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[[email protected] d6z]# ll -h
总用量 2.2M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt          ##文件实际大小和总用量有差距,里面存在虚量

·压缩命令:gzip 文件名

[[email protected] d6z]# gzip 1.txt
[[email protected] d6z]# ll -h
总用量 436K
-rw-r--r--. 1 root root 433K 1月   3 22:20 1.txt.gz

·解压缩命令:gzip -d 压缩包文件名 /  unzip 1.txt.gz

[[email protected] d6z]# gzip -d 1.txt.gz
[[email protected] d6z]# ll -h
总用量 1.7M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt          ##压缩解压缩一次会将虚量挤掉

·另一个解压缩命令:gunzip 压缩包文件名

[[email protected] d6z]# gunzip 1.txt.gz
[[email protected] d6z]# ll -h
总用量 1.7M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt

·设定压缩级别(不能压缩目录):gzip -压缩级别(1-9) 文件名

[[email protected] d6z]# gzip -1 1.txt                    ##指定压缩级别,默认6级别,1为最快,9为最好
[[email protected] d6z]# ll -h
总用量 512K
-rw-r--r--. 1 root root 512K 1月   3 22:20 1.txt.gz
[[email protected] d6z]# gzip -9 1.txt                    ##压缩到一定程度后,文件大小不会再有所变化
[[email protected] d6z]# ll -h
总用量 432K
-rw-r--r--. 1 root root 431K 1月   3 22:20 1.txt.gz

·查看压缩文件内容:zcat 压缩包文件名

[[email protected] d6z]# zcat 1.txt.gz

内容过多,不详细展示

·压缩时指定压缩文件保存目录并且不删除源文件:gzip -c 文件名 > 压缩包绝对路径

[[email protected] d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[[email protected] d6z]# ll
总用量 1664
-rw-r--r--. 1 root root 1700160 1月   3 22:20 1.txt
[[email protected] d6z]# ls
1.txt
[[email protected] d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[[email protected] d6z]# file !$
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Wed Jan  3 22:20:29 2018

·解压缩文件时不删除原压缩文件:gunzip -c 压缩文件绝对路径 > 目标文件路径 /    gzip -d -c

[[email protected] d6z]# gunzip -c /tmp/1.txt.gz > /tmp/d6z/2.txt
[[email protected] d6z]# ls /tmp/
1.txt.gz          systemd-private-563dd467f5694de9a79e64f675ddbbd6-chronyd.service-pvAtKB
d6z              systemd-private-563dd467f5694de9a79e64f675ddbbd6-vgauthd.service-CxHB7l
ks-script-ThyP1C      systemd-private-563dd467f5694de9a79e64f675ddbbd6-vmtoolsd.service-0pWLAR
passwd            yum.log
[[email protected] d6z]# du -sh 1.txt 2.txt
1.7M1.txt
1.7M2.txt



6.3 bzip2压缩工具

bzip2和gzip比压缩更狠,使用方法差不错

·压缩命令:bzip2 文件名     (不支持压缩目录)

[[email protected] d6z]# bzip2 1.txt
[[email protected] d6z]# ls
1.txt.bz2  2.txt
[[email protected] d6z]# du -sh 1.txt.bz2
164K1.txt.bz2

·解压缩命令:bzip2 -d 压缩文件名  /  bunzip2 压缩文件名

[[email protected] d6z]# bzip2 -d 1.txt.bz2
[[email protected] d6z]# ll -h
总用量 3.3M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
[[email protected] d6z]# bzip2 1.txt
[[email protected] d6z]# bunzip2 1.txt.bz2
[[email protected] d6z]# ll -h
总用量 3.3M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt

·压缩到一个指定目录下:bzip2 -c 文件名 > 压缩文件绝对路径

[[email protected] d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[[email protected] d6z]# ll -h
总用量 3.3M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
[[email protected] d6z]# ll -h /tmp/
总用量 616K
-rw-r--r--. 1 root root  163K 1月   4 21:32 1.txt.bz2
-rw-r--r--. 1 root root  433K 1月   3 22:51 1.txt.gz
drwxr-xr-x. 2 root root   32 1月   4 21:26 d6z
-rwx------. 1 root root  836 12月   28 05:59 ks-script-ThyP1C
-rw-r--r--. 1 root root  10K 12月   31 23:18 passwd
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh
-rw-------. 1 root root   0 12月   28 05:36 yum.log

·解压缩到指定目录下:bzip2 -d -c

[[email protected] d6z]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[[email protected] d6z]# ll -h
总用量 4.9M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1.7M 1月   4 21:35 3.txt
[[email protected] d6z]# ll -h /tmp/
总用量 616K
-rw-r--r--. 1 root root  163K 1月   4 21:32 1.txt.bz2
-rw-r--r--. 1 root root  433K 1月   3 22:51 1.txt.gz
drwxr-xr-x. 2 root root   45 1月   4 21:35 d6z
-rwx------. 1 root root  836 12月   28 05:59 ks-script-ThyP1C
-rw-r--r--. 1 root root  10K 12月   31 23:18 passwd
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e
drwx------. 3 root root   17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh
-rw-------. 1 root root   0 12月   28 05:36 yum.log

·设定压缩级别:bzip2 -压缩级别(1-9) 文件名

[[email protected] d6z]# bzip2 -9 1.txt
[[email protected] d6z]# du -sh 1.txt.bz2
164K1.txt.bz2

(bzip2默认压缩级别就是9)


·查看压缩文件内容:bzcat 压缩文件名

[[email protected] d6z]# bzcat 1.txt.bz2

内容过多,不详细展示

疑问:gzip压缩过的文件用bzip2工具能解压缩吗?或者bzip2压缩过的文件用gzip解压?

[[email protected] d6z]# gzip -d 1.txt.bz2

gzip: 1.txt.bz2: unknown suffix -- ignored

[[email protected] d6z]# bunzip2 /tmp/1.txt.gz

bunzip2: Can't guess original name for /tmp/1.txt.gz -- using /tmp/1.txt.gz.out

bunzip2: /tmp/1.txt.gz is not a bzip2 file.

答案当然是不可以~!




6.4 xz压缩工具

·压缩命令:xz 文件名 / xz -z 文件名    (不能压缩目录)

[[email protected] d6z]# xz 1.txt
[[email protected] d6z]# ll -h
总用量 3.4M
-rw-r--r--. 1 root root  56K 1月   3 22:20 1.txt.xz        ##压缩级别很高
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1.7M 1月   4 21:35 3.txt

·解压缩命令:xz -d 压缩文件名 / unxz 压缩文件名

[[email protected] d6z]# unxz 1.txt.xz
[[email protected] d6z]# ll -h
总用量 4.9M
-rw-r--r--. 1 root root 1.7M 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1.7M 1月   4 21:35 3.txt

·设定压缩级别:xz -级别 文件名    (1-9,默认6)

[[email protected] d6z]# xz -9 1.txt
[[email protected] d6z]# ll -h
总用量 3.4M
-rw-r--r--. 1 root root  56K 1月   3 22:20 1.txt.xz
-rw-r--r--. 1 root root 1.7M 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1.7M 1月   4 21:35 3.txt

·查看压缩文件内容:xzcat 压缩文件名

[[email protected] d6z]# xzcat 1.txt.xz

内容过多,不详细展示

·压缩到指定目录:xz -c 文件名 > 压缩文件绝对路径

[[email protected] d6z]# xz -c 1.txt > /tmp/1.txt.xz
[[email protected] d6z]# ll
总用量 4992
-rw-r--r--. 1 root root 1700160 1月   3 22:20 1.txt         ##被压缩的文件不会被删除
-rw-r--r--. 1 root root 1700160 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1700160 1月   4 21:35 3.txt
[[email protected] d6z]# ll /tmp/
总用量 672
-rw-r--r--. 1 root root   166901 1月   4 21:32 1.txt.bz2
-rw-r--r--. 1 root root   442631 1月   3 22:51 1.txt.gz
-rw-r--r--. 1 root root   57088 1月   4 22:00 1.txt.xz
drwxr-xr-x. 2 root root     45 1月   4 21:59 d6z
-rwx------. 1 root root    836 12月   28 05:59 ks-script-ThyP1C
-rw-r--r--. 1 root root  10152 12月   31 23:18 passwd
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh
-rw-------. 1 root root     0 12月   28 05:36 yum.log

·解压缩到指定目录:xz -d -c 压缩文件绝对路径 > 文件名

[[email protected] d6z]# xz -d -c /tmp/1.txt.xz > 4.txt
[[email protected] d6z]# ll /tmp/
总用量 672
-rw-r--r--. 1 root root  166901 1月    4 21:32 1.txt.bz2
-rw-r--r--. 1 root root  442631 1月    3 22:51 1.txt.gz
-rw-r--r--. 1 root root  57088 1月    4 22:00 1.txt.xz       ##被解压缩的文件不会被删除
drwxr-xr-x. 2 root root    58 1月    4 22:01 d6z
-rwx------. 1 root root   836 12月    28 05:59 ks-script-ThyP1C
-rw-r--r--. 1 root root  10152 12月   31 23:18 passwd
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-chronyd.service-gea3cL
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vgauthd.service-37GJ3e
drwx------. 3 root root     17 1月   4 18:26 systemd-private-29544dd479044cf3a1aba0ff5f5af001-vmtoolsd.service-BZPrDh
-rw-------. 1 root root     0 12月   28 05:36 yum.log
[[email protected] d6z]# ll
总用量 6656
-rw-r--r--. 1 root root 1700160 1月   3 22:20 1.txt
-rw-r--r--. 1 root root 1700160 1月   3 22:56 2.txt
-rw-r--r--. 1 root root 1700160 1月   4 21:35 3.txt
-rw-r--r--. 1 root root 1700160 1月   4 22:01 4.txt           ##被解压出的文件

原文地址:http://blog.51cto.com/11530642/2057941

时间: 2024-10-07 13:22:49

2018-1-5 4周4次课 压缩工具 gzip、bzip2、xz的相关文章

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.5 4周4次课

四周第四次课(1月5日) 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 6.1 压缩打包介绍 在Windows下,我们接触最多的压缩文件是.rar..zip..7z等格式的:但在Linux下,不能识别这种格式,它有自己独特的压缩工具.但zip格式的文件在Windows和Linux下都能使用.使用压缩文件,不仅能节省磁盘空间,而且在传输时还能节省网络带宽. Linux下最常见的压缩文件通常都是.tar.gz格式的,除此之外,还有.tar..gz.

2018.1.8 5周1次课

五周第一次课(1月8日) 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 7.1 安装软件包的三种方法 rpm工具 yum工具 源码包 在Windows系统下安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击"下一步" 按钮即可. 然而在Linux系统下安装软件就没那么容易了,因为我们不是在图形界面下.所以,你必须学会如何在Linux下安装软件 前面我们多次提到了yum命令,它是Red Ha

2018.1.10 5周3次课

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西一一系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系

2018.1.11 5周4次课

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 8.6 管道符和作业控制 1. 管道符 前面已经提过管道符|,它用于将前一个指令的输出作为后一个指令的输人. 2. 作业控制 当运行进程时,常用的命令如下: 暂停:按ctrl+Z组合键 fg n:(foreground的简写)恢复第n个进程运行 bg n:(backgroup的简写)把第n个进程放到后台运行 终止:按ctrl+C组合键 jobs:把暂停或在后台的任务列出来. 命令 &:

2018.1.12 5周5次课

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 (如*) 还原为普通字符 | 管道符 这个字符前面曾多次出现过,它的作用是将前面