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

四周第四次课(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"
[[email protected] d6z]# gzip -d 1.txt.gz
[[email protected] d6z]# gzip -c 1.txt > /tmp/11.txt.gz
[[email protected] d6z]# ls
1.txt
[[email protected] d6z]# ls /tmp/11.txt.gz
/tmp/11.txt.gz
[[email protected] 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
[[email protected] 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
[[email protected] d6z]# gzip -d -c 1.txt > /tmp/11.txt.gz > /tmp/d6z/2.txt

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

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

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

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

gzip: /tmp/11.txt.gz: unexpected end of file
[[email protected] 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
[[email protected] d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[[email protected] d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/4.txt
[[email protected] d6z]# wc -l 1.txt 2.txt 3.txt 4.txt
123139 1.txt
0 2.txt
0 3.txt
123139 4.txt
246278 总用量
[[email protected] 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
[[email protected] d6z]# du -sh *.txt
4.7M 1.txt
0 2.txt
0 3.txt
4.7M 4.txt
[[email protected] 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
[[email protected] d6z]# file /tmp/11.txt.gz 1.txt.gz
/tmp/11.txt.gz: empty
1.txt.gz: cannot open (No such file or directory)
[[email protected] d6z]# file /tmp/11.txt.gz
/tmp/11.txt.gz: empty
[[email protected] 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
[[email protected] d6z]# file /tmp/11.txt.gz
/tmp/11.txt.gz: empty
[[email protected] d6z]# ls
1.txt 2.txt 3.txt 4.txt
[[email protected] 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

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

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

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

原文地址:https://www.cnblogs.com/yikebaicai/p/8207260.html

时间: 2024-10-13 21:04:21

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

四周第1次课(2月26日)

四周第一次课(2月26日)4.10/4.11/4.12 lvm讲解4.13 磁盘故障小案例 4.10lvm讲解(上) ctrl+u可以把8e删除掉. 创建物理卷 如果不知道安装包,可以根据命令查找安装包. 显示没有这个文件 需要输入一个命令 运行#pvcreate /dev/sdb1sdb有问题,运行df -h,显示sdb还在挂载. 运行命令#umount /mnt 给ext4签名 运行命令:#pvdisplay 4.12lvm讲解(中)运行命令pvs,更直观 创建卷组卷组信息 格式化成ext4

Linux学习笔记第三周第四次课(2月8日)

4.1 df命令 df,report file system disk space usage汇报文件系统磁盘空间使用情况: df命令格式:df [选项] df -a:all 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统. df -h:human readable以容易理解的格式输出文件系统大小,例如124KB.345MB.46GB. df -i:inodes 显示i节点使用情况. df -m:以MB为单位显示文件系统使用情况: df -t:type 显示各指定类型的文件系统

四周第五次课3月2日

zip压缩工具 yum -install -y zip 压缩文件命令 是需要安装的可以压缩目录 zip压缩完了文件不会删除 yum -install -y unzip 解压文件命令也是要安装的 unzip可以解压到指定 的目录下 -Dtar打包 cvf的意思(c=创建 V就是可视化 f就是打包的名字)能打包就能就能解包 tar -xvf tar -tf 可以查看 打包的文件列表如果文件里面有你不想引起打包的文件可以增加 --exclude打包并压缩 tar -zcvf 解包 tar -zxvf

Linux20180416三周第四次课(4月9日)

4.1 df命令4.2 du命令4.3/4.4 磁盘分区扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html df命令 df - report file system disk space usage tmpfs说明文件系统是临时文件系统 dev/shm是内存,通常是物理内存的一半 df -h 比较友好的观看模式 -m 是以MB为单位的 -i 是查看inodes的个数和使用情况.inodes是在格式化的过程中创建的

四周第一次课(1月2日)

四周第一次课(1月2日)4.10/4.11/4.12 lvm讲解 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便

四周第一次课(1月2日) 4.10/lvm讲解 4.11/lvm讲解 4.12/lvm讲解 4.13 磁盘故障小案例

四周第一次课(1月2日)4.10/lvm讲解4.11/lvm讲解4.12/lvm讲解4.13 磁盘故障小案例 onnecting to 192.168.183.128:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Jan 2 19:34:17 2018[[email protected] ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP

四周第二次课(1月3日) 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴

四周第二次课(1月3日)5.1 vim介绍5.2 vim颜色显示和移动光标5.3 vim一般模式下移动光标5.4 vim一般模式下复制.剪切和粘贴   [[email protected] ~]# [[email protected] ~]# [[email protected] ~]# [[email protected] ~]# [[email protected] ~]# [[email protected] ~]# Last login: Tue Jan 2 22:13:55 2018

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课(12月29日)4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 [[email protected] ~]# [[email protected] ~]# mke2fs命令文件系统管理mke2fs命令被用于创建磁盘分区上的"etc2/etc3"文件系统. 语法:mke2fs(选项)(参数) 选项:-b<区块大小>:指定区块大小,单位为字节:-c:检查是否有损坏的区块:-f<不连续区段大小>:指定不连续区段的大小,单位为