四周第四次课(1月5日)
6.1 压缩打包介绍
6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================

gzip命令:
用来压缩文件。
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

语法
gzip(选项)(参数)
选项
-a或——ascii:使用ASCII文字模式;
-d或--decompress或----uncompress:解开压缩文件;
-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h或——help:在线帮助;
-l或——list:列出压缩文件的相关信息;
-L或——license:显示版本与版权信息;
-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
-N或——name:压缩文件时,保存原来的文件名称及时间戳记;
-q或——quiet:不显示警告信息;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t或——test:测试压缩文件是否正确无误;
-v或——verbose:显示指令执行过程;
-V或——version:显示版本信息;
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
--best:此参数的效果和指定“-9”参数相同;
--fast:此参数的效果和指定“-1”参数相同。
参数
文件列表:指定要压缩的文件列表。

实例
把test6目录下的每个文件压缩成.gz文件

gzip *
把上例中每个压缩的文件解压,并列出详细的信息

gzip -dv *
详细显示例1中每个压缩的文件的信息,并不解压

gzip -l *
压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz

gzip -r log.tar
递归的压缩目录

gzip -rv test6
这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。

递归地解压目录

gzip -dr test6

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================
bzip2命令:
用于创建和管理(包括解压缩)“.bz2”格式的压缩包。
我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。

语法
bzip2(选项)(参数)
选项
-c或——stdout:将压缩与解压缩的结果送到标准输出;
-d或——decompress:执行解压缩;
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h或——help:在线帮助;
-k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
-s或——small:降低程序执行时内存的使用量;
-t或——test:测试.bz2压缩文件的完整性;
-v或——verbose:压缩或解压缩文件时,显示详细的信息;
-z或——compress:强制执行压缩;
-V或——version:显示版本信息;
--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
参数
文件:指定要压缩的文件。

实例
压缩指定文件filename:

bzip2 filename

bzip2 -z filename
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -f filename;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。

解压指定的文件filename.bz2:

bzip2 -d filename.bz2

bunzip2 filename.bz2
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -df filename.bz2。

压缩解压的时候将结果也输出:

$bzip2 -v filename
输入之后,输出如下:

filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
这里,加上-v选项就会输出了,只用压缩举例了,解压的时候同理bzip2 -dv filename.bz2不再举例了。

模拟解压实际并不解压:

bzip2 -tv filename.bz2
输入之后,输出如下:

filename.bz2: ok
这里,-t指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上-v选项了,如果是真的解压bzip2 -dv filename.bz2则输出的是把"ok"替换成了"done"。

压缩解压的时候,除了生成结果文件,将原来的文件也保存:

bzip2 -k filename
这里,加上-k就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理$bzip2 -dk filename.bz2不再举例了。

解压到标准输出:

bzip2 -dc filename.bz2
输入之后,输出如下:

hahahhaahahha
这里,使用-c指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。

压缩到标准输出:

bzip2 -c filename
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
这里,使用-c指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。

使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):

bzip2 -- -myfilename
这里主要是为了防止文件名中-产生以为是选项的歧义。

 

 

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================

KEYMAP="cn"
FONT="latarcyrheb-sun16"
LANG="zh_CN.UTF-8"
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
[root@localhost d6z]# gzip -d 1.txt.gz
[root@localhost d6z]# gzip -c 1.txt > /tmp/11.txt.gz
[root@localhost d6z]# ls
1.txt
[root@localhost d6z]# ls /tmp/11.txt.gz
/tmp/11.txt.gz
[root@localhost d6z]# file !$
file /tmp/11.txt.gz
/tmp/11.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Fri Jan 5 21:32:55 2018
[root@localhost d6z]# gzip -d -c 1.txt > /tmp/11.txt.gz /tmp/d6z/2.txt

gzip: 1.txt: not in gzip format
gzip: /tmp/d6z/2.txt.gz: No such file or directory
[root@localhost d6z]# gzip -d -c 1.txt > /tmp/11.txt.gz > /tmp/d6z/2.txt

gzip: 1.txt: not in gzip format
[root@localhost d6z]# lsd
-bash: lsd: 未找到命令
[root@localhost d6z]# ls
1.txt 2.txt
[root@localhost d6z]# wc -l 1.txt 2.txt
123139 1.txt
0 2.txt
123139 总用量
[root@localhost d6z]# gzip -d -c /tmp/11.txt.gz > /tmp/d6z/2.txt

gzip: /tmp/11.txt.gz: unexpected end of file
[root@localhost d6z]# ls /tmp/11.txt.gz
/tmp/11.txt.gz
[root@localhost d6z]# gzip -d -c /tmp/11.txt.gz > /tmp/d6z/3.txt

gzip: /tmp/11.txt.gz: unexpected end of file
[root@localhost d6z]# ls
1.txt 2.txt 3.txt
[root@localhost d6z]# wc -l 1.txt 2.txt 3.txt
123139 1.txt
0 2.txt
0 3.txt
123139 总用量
[root@localhost d6z]# gzip -d -c /tmp/11.txt.gz > /tmp/d6z/3.txt

gzip: /tmp/11.txt.gz: unexpected end of file
[root@localhost d6z]# gzip -dc /tmp/11.txt.gz > /tmp/d6z/3.txt

gzip: /tmp/11.txt.gz: unexpected end of file
[root@localhost d6z]# ls /tmp/
11.txt.gz fstab
123 passwd.sh
12.txt systemd-private-7534822b871f401a97d8ffc1abd00603-vmtoolsd.service-28fmWV
1.txt systemd-private-fc86786af1c94a90a7ee58458ca44c06-vmtoolsd.service-NvU9XZ
d6z xxx.sh
[root@localhost d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[root@localhost d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/4.txt
[root@localhost d6z]# wc -l 1.txt 2.txt 3.txt 4.txt
123139 1.txt
0 2.txt
0 3.txt
123139 4.txt
246278 总用量
[root@localhost d6z]# ls /tmp/
11.txt.gz fstab
123 passwd.sh
12.txt systemd-private-7534822b871f401a97d8ffc1abd00603-vmtoolsd.service-28fmWV
1.txt systemd-private-fc86786af1c94a90a7ee58458ca44c06-vmtoolsd.service-NvU9XZ
1.txt.gz xxx.sh
d6z
[root@localhost d6z]# du -sh *.txt
4.7M 1.txt
0 2.txt
0 3.txt
4.7M 4.txt
[root@localhost d6z]# file !$
file *.txt
1.txt: C source, UTF-8 Unicode text, with very long lines
2.txt: empty
3.txt: empty
4.txt: C source, UTF-8 Unicode text, with very long lines
[root@localhost d6z]# file /tmp/11.txt.gz 1.txt.gz
/tmp/11.txt.gz: empty
1.txt.gz: cannot open (No such file or directory)
[root@localhost d6z]# file /tmp/11.txt.gz
/tmp/11.txt.gz: empty
[root@localhost d6z]# file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Fri Jan 5 21:32:55 2018
[root@localhost d6z]# file /tmp/11.txt.gz
/tmp/11.txt.gz: empty
[root@localhost d6z]# ls
1.txt 2.txt 3.txt 4.txt
[root@localhost d6z]# yum install -y bzip2
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
updates/7/x86_64/primary_db | 5.2 MB 00:00:03
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bzip2.x86_64.0.1.0.6-13.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================
Package 架构 版本 源 大小
============================================================================================
正在安装:
bzip2 x86_64 1.0.6-13.el7 base 52 k

事务概要
============================================================================================
安装 1 软件包

总下载量:52 k
安装大小:82 k
Downloading packages:
bzip2-1.0.6-13.el7.x86_64.rpm | 52 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : bzip2-1.0.6-13.el7.x86_64 1/1
验证中 : bzip2-1.0.6-13.el7.x86_64 1/1

已安装:
bzip2.x86_64 0:1.0.6-13.el7

完毕!
[root@localhost d6z]# bzip2 1.txt
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt 4.txt
[root@localhost d6z]# du -sh 1.txt.bz2
496K 1.txt.bz2
[root@localhost d6z]# du -sh 4.txt
4.7M 4.txt
[root@localhost d6z]# bzip2 -d 1.txt.bz2
[root@localhost d6z]# bzip2 1.txt
[root@localhost d6z]# bunzip2 1.txt.bz2
[root@localhost d6z]# ls
1.txt 2.txt 3.txt 4.txt
[root@localhost d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@localhost d6z]# du -sh /tmp/1.txt.bz2
496K /tmp/1.txt.bz2
[root@localhost d6z]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[root@localhost d6z]# ls
1.txt 2.txt 3.txt 4.txt
[root@localhost d6z]# du -sh 3.txt
4.7M 3.txt
[root@localhost d6z]# bzip2 -9 1.txt
[root@localhost d6z]# du -sh 1.txt.bz2
496K 1.txt.bz2
[root@localhost d6z]# file 1.txt.bz2
1.txt.bz2: bzip2 compressed data, block size = 900k
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt 4.txt
[root@localhost d6z]# mv 1.txt.bz2 1.txt
[root@localhost d6z]# ls
1.txt 2.txt 3.txt 4.txt
[root@localhost d6z]# less 1.txt
"1.txt" may be a binary file. See it anyway?
[root@localhost d6z]# file 1.txt
1.txt: bzip2 compressed data, block size = 900k
[root@localhost d6z]# file 3.txt
3.txt: C source, UTF-8 Unicode text, with very long lines
[root@localhost d6z]# less 3.txt ^C
[root@localhost d6z]# mv 1.txt 1.txt.bz2
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt 4.txt
[root@localhost d6z]# bzcat
[root@localhost d6z]# xz 3.txt
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt.xz 4.txt
[root@localhost d6z]# du -sh 3.txt.xz
60K 3.txt.xz
[root@localhost d6z]# du -sh 4.txt
4.7M 4.txt
[root@localhost d6z]# xz -d 3.txt.xz
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt 4.txt
[root@localhost d6z]# xz 3.txt
[root@localhost d6z]# unxz 3.txt.xz
[root@localhost d6z]# ls
1.txt.bz2 2.txt 3.txt 4.txt
[root@localhost d6z]# xz -c 3.txt > /tmp/2.txt.xz
[root@localhost d6z]# xz -d -c /tmp/2.txt.xz > ./2.txt
[root@localhost d6z]# xzcat /tmp/2.txt.xz

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================

=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================

转载于:https://www.cnblogs.com/yikebaicai/p/8207260.html

四周第四次课(1月5日) 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具...相关推荐

  1. 四周第四次课 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 x

    6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 1. 压缩打包介绍 文件压缩类型 2. gzip压缩工具 1.gzip 压缩工具的压缩与解压 # gz ...

  2. LINUX基础 第四次课 10月15日

    一.实现在浏览器中输入虚拟机的IP地址,并且能打开它的一个Web界面 1.使用root用户登录虚拟机 2.在终端中输入命令下载httpd: yum -y install httpd 3.出现Compl ...

  3. 三周第三次课(12月27日)

    三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...

  4. 六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

    六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合 ...

  5. 新神魔大陆服务器现在在维护吗,新神魔大陆4月23日合服维护详情介绍-4月23日更新公告...

    新神魔大陆更新解读. 新神魔大陆4月23日更新了什么?为了给勇士提供更好更全面的游戏体验,新神魔大陆手游将于2021年4月23日凌晨5点30分到8点30分进行更新维护,接下来就和小编一起来看看这次更新 ...

  6. 软件随想录(local.joelonsoftware.com/wiki)-2005年06月20日 最佳软件文选I - 介绍 - Introduction to Best Software Writin

    2005年06月20日 最佳软件文选I - 介绍 - Introduction to Best Software Writing I 最佳软件文选I - 介绍 From The Joel on Sof ...

  7. 完美世界手游服务器维护中,完美世界手游5月9日维护更新了什么内容_5月9日正式服维护更新介绍_3DM手游...

    在完美世界手游中5月9日正式服维护更新了什么内容呢?不知道的小伙伴就看看小编整理的完美世界5月9日正式服维护更新介绍,感兴趣的就来看看吧. 正式服维护更新 亲爱的修真者: 为优化游戏功能.提升游戏体验 ...

  8. 服务器临时维护 开启另行通知,倩女幽魂手游6月23日在线维护公告内容介绍

    为了玩家更好的游戏体验,本周起将通过在线维护的方式投放每周更新内容.如特殊情况需停服维护(包括但不限于合服.月度版本更新.服务器临时维护等),将另行公告通知.祝全体玩家游戏愉快! 本周在线更新内容如下 ...

  9. 闪耀暖暖服务器维护时间,闪耀暖暖4月22日版本维护更新有什么内容_4月22日版本维护更新内容介绍_3DM手游...

    在奇迹暖暖手游中4月22日版本维护更新有什么内容呢?维护更新期间,所有搭配师将无法登录游戏,请各位搭配师合理安排时间,避免不必要的损失.开服时间将根据实际情况有可能提前或延后.那么想知道本期维护更新内 ...

最新文章

  1. MFC中的CString.Format及CString,string,char*之间的转换
  2. springboot-静态资源配置原理
  3. Vue使用jsPdf将页面导出成pdf文件
  4. map可以用结构体作为健值吗?
  5. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答
  6. 52 - LeetCode-13 -罗马数字转整数_罗马数字转数字
  7. 巨人网络305亿并购海外棋牌类游戏公司审核遭暂停
  8. 态度决定一切细节决定成败_字体设计可以决定设计的成败:选择字体的过程
  9. Qt2D游戏开发引擎QtGameEngine使用入门9——在游戏界面中添加gui按钮文本等控件
  10. 图形驱动程序和显卡驱动什么区别_鸡血驱动已发布,可新买的显卡打不上驱动?这事儿别急...
  11. Latex 论文引用
  12. 三星GT-P1000完美刷机教程,附ROM刷机包下载
  13. 敏捷史诗(Epics)的定义、示例和模板
  14. 【求职】搜狗 C++反向面经
  15. RemoteViews的使用
  16. 如何拥有属于自己的公司
  17. 嘉宾专访|2020 PostgreSQL亚洲大会中文分论坛:韩国盛
  18. ROM制作---强制默认打开安卓最下方的虚拟按键和默认输入法修改
  19. 数据库总结之基础知识篇
  20. 高中计算机选修一学业水平测试知识点,浅谈普通高中信息技术学业水平测试复习策略...

热门文章

  1. Beaglebone Back学习七(URAT串口测试)
  2. 转 OFBiz 菜单组件(menu-widget)指引
  3. Entity Framework中IQueryable, IEnumerable, IList的区别
  4. P2P in Flash Player 10
  5. 学习.NET的两个网站:MSDN和Asp .NET
  6. SolarReserve在加州开发2GW项目 美国市场将再度崛起?
  7. Follow me!百万奖金由你拿 | 精准资助机器学习(三)
  8. AppServ安装到一半卡住的问题
  9. TypeScript Type Innference(类型推断)
  10. Android系统架构图及简单的系统架构介绍