1.目前计算机系统都是用bytes(字节)单位计量
2.事实上计算机的最小计量单位是bits(位)
3 . 1byte = 8bits
-
byte 可以看作底下这样
图片.png - 8个空格就是8个位而每个空格可以是0或1,现在假设我们之存入了一个1,那会剩余到7个空位,默认情况下这7个位是不可以再写入数据。
- 但是压缩技术就是把这些没用到的空间提取出来,以让档案站用的空间变小。
下面说压缩技术
常见的压缩
- .zip zip程序
- .gz gzip程序
- .bz2 bzip2程序
- .xz xz程序
- .tar 打包 不压缩
- .tar.gz 打包 经过gzip压缩
- .tar.bz2 打包 经过bzip2压缩
- .tar.xz 打包 经过xz压缩
常见命令工具
gzip bzip2 xz 这些都只能对单个文件进行压缩,不能操作目录。
而tar打包可以对一个到多个文件或者一个目录打包成一个单一的文件,但单独使用tar命令时,只是打包不压缩。
gzip
gzip 压缩解压单个文件
压缩文件后自动删除源文件,自动添加.gz位拓展名
解压文件后,自动删除原压缩文件
gzip [-vd] file
-v 压缩是显示压缩比例
-d 解压
gzip -v services
查看压缩文件内容
services.gz
搜索压缩文件关键字位置
zgrep ' ' services.gz
浏览压缩文件
zless
解压
gzip -d
bzip
更好的压缩比,但是会占用相对多一些的时间。
用法几乎和gzip一样
-v显示解压/压缩的比例
-c将压缩过程产生的数据都输出到屏幕上
-d解压缩
-k保留原文件,不会删除原文件
示例
压缩
bzip2 -v services
查看压缩文件
bzcat service.bz2
bzless service.bz2
解压
bzip2 -d services.bz2
打包压缩tar
-c 创建打包文件,可搭配-v来查看打包过程中被打包的文件名
-t 查看打包文件的文件名,重点在查看"文件名"
-x 解压缩和解打包的功能,可以搭配 -C(大写)
在特定的目录解开,特别留意的是 -c -t -x不可同时出现在一串命令中
-v 压缩/解压过程中将文件名显示出来。
-f filename:-f 后面要接文件名,建议-f单独写一个选项
-c 目录 : 解压缩到特定的目录
只打包不压缩
创建包
tar -cvf 创建后的文件名.tar 文档1 文档2
查看包内文件列表
tar -tf 创建后的文件名.tar
解包到当前位置
tar -xf 创建后的文件名.tar
打包后进行压缩
-z 通过gzip进行压缩/解压文件名最好为 *.tar.gz
-j 通过gzip2的支持进行压缩/解压 *tar,bz2
-J 通过xz 的支持进行压缩/解压 *tar.xz
以上3个选项互斥
特别的
-p(小写) :保留备份数据的原本权限与属性,常用于备份重要的配置文件
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!
解压包中的某一个文件
tar -xf 文件 位置
解压到指定目录
tar -xf 文件 -C 目录
压缩的时候排除一个或者文件或者目录
排除一个文件
tar -jcvf t.tar.bz2 d1 d2 --exclude=s1
排除多个文件
tar -jcvf t.tar.bz2 d1 d2 --exclude={s1,s2}
目录也可以
tar -jcvf t.tar.bz2 d1 d2 --exclude=d1
网友评论