常见的压缩归档工具
2016-03-17 15:45
225 查看
常用压缩工具原理:
因为1byte=8bit,一个字节等于8位二进制数,所以每个byte当中会有8个空格,而每个空格可以是0,1。如此以来我存储一个字符1,1会在最右边占据一个bit,而其它7个bit将会被自动被填上0。其实那7个bit应该是空的。为了满足我们操作系统对数据的访问,所以会将该数据转为byte的形态来记录。压缩即:利用一些复杂的计算方式,将没有使用到的空间丢出去,以让文件占用的空间变小。
另外一种方式:将重复的数据进行统计记录,例如你存储100个1,那么压缩技术会存储100个1,而不是真有100个1的位存在。这样也能够精简文件记录的容量。
常用压缩工具:
Compress:这个压缩命令是非常老旧的一款,大概只有在非常旧的unix机器上才能找到,所以在这里就不过多介绍啦。
gzip,gunzip,zcat:
gzip [-cdtv] 文件名
-c:将压缩的工具输出到屏幕上,可通过数据流重定向处理;
-d:解压缩的参数
-t:可以用来检验压缩文件的一致性,看看文件有无错误
-v:显示压缩过程的详细信息
-#:压缩等级-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认为6
gizp压缩文件后会默认删除原文件,-c重定向可以保留原文件到当前目录
gzip==gunzip,解压默认不保留压缩文件,通常情况下我不建议用gunzip因为有时候会与其他工具搞混
zcat:可以查看压缩文件中的内容
bzip2,bzcat,bzcat
bzip2 [-cdkzv#]文件名
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原文件,而不会删除原始的文件
-z:压缩的参数
-v:可以显示出压缩过程详细信息
-#:与gizp一样,都是计算压缩比的参数
bzip2 + 文件 压缩默认删除原文件;
bzcat + 压缩包 可以查看压缩文件中的数据
bzip2 -d 解压默认删除压缩文件
xz,unxz,xzcat
xz [-dkv#]文件名
-d:解压缩,效果等同于unxz
-k:压缩保留原文件
-v:显示压缩过程详细信息
-#:同gizp可以设定压缩比,默认为6
tar归档工具:
tar [-jzcv][-f 新建的文件名]filename
-z:通过gizp的方式进行压缩/解压缩此文件名最好为*.gz
-j:通过bzip2的方式进行压缩/解压缩此文件名最好为*.bz2
-v:显示压缩/解压缩的过程
-C:在解压过程中,可以使用-C将其存入指定的目录中
-f:后面要接被处理的文件名。建议-f单独写一个参数
-x:解压缩的功能,可以配合-C在特定目录中解开
-t:查看打包文件的内容含有哪些文件名,重点查看文件名
-c:新建打包文件,可搭配-v来查看过程中被打包的文件名
-p:保留原文件权限与属性
-P:保留绝对路径,允许备份数据中有根目录存在
最简单的使用tar就只要记忆下面的方式即可:
bzip2压缩:tar -jcv -f file.tar.bz2 file1 file2...
bzip2解压:tar -jxv -f file.tar.bz2
bzip2查看:tar -jtv -f file.tar.bz2
解压重定向:tar -jxv -f file.tar.bz2 -C /tmp
gz压缩:tar -zcv -f file.tar.gz file1 file2...
gz解压:tar -zxv -f file.tar.gz
gz查看:tar -ztv -f file.tar.gz
dd:
功用:这个命令不只是制作一个文件而已。dd的最大功效在于“备份”。因为dd可以读取磁盘设备的内容(几乎是直接读取扇区),然后将整个设备备份成一个文件。
格式:dd if="input file" of="output file" bs="block size" count="number"
范例一:将/etc/passwd 备份到 /tmp/passwd.back当中
你可以说,tar可以用来备份关键数据,而dd则可以用来备份整块分区或整块磁盘,如果要将数据填回到文件系统当中,可能需要考虑到原本的文件系统才能成功。
实战练习:
将/etc/sda1 完整的复制到另一个分区上,请使用你的系统上面未分区完毕的空间再新建一个与/dev/sda1差不多大小的分区(只能比sda1大不能比它小)然后将之进行完整复制。
分析:由于需要复制启动扇区的区块,所以使用cp或者tar这种命令是无法完成需求的。
本文出自 “我动了谁的奶酪” 博客,请务必保留此出处http://wscto.blog.51cto.com/11249394/1752173
因为1byte=8bit,一个字节等于8位二进制数,所以每个byte当中会有8个空格,而每个空格可以是0,1。如此以来我存储一个字符1,1会在最右边占据一个bit,而其它7个bit将会被自动被填上0。其实那7个bit应该是空的。为了满足我们操作系统对数据的访问,所以会将该数据转为byte的形态来记录。压缩即:利用一些复杂的计算方式,将没有使用到的空间丢出去,以让文件占用的空间变小。
另外一种方式:将重复的数据进行统计记录,例如你存储100个1,那么压缩技术会存储100个1,而不是真有100个1的位存在。这样也能够精简文件记录的容量。
常用压缩工具:
Compress:这个压缩命令是非常老旧的一款,大概只有在非常旧的unix机器上才能找到,所以在这里就不过多介绍啦。
gzip,gunzip,zcat:
gzip [-cdtv] 文件名
-c:将压缩的工具输出到屏幕上,可通过数据流重定向处理;
-d:解压缩的参数
-t:可以用来检验压缩文件的一致性,看看文件有无错误
-v:显示压缩过程的详细信息
-#:压缩等级-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认为6
gizp压缩文件后会默认删除原文件,-c重定向可以保留原文件到当前目录
gzip==gunzip,解压默认不保留压缩文件,通常情况下我不建议用gunzip因为有时候会与其他工具搞混
zcat:可以查看压缩文件中的内容
bzip2,bzcat,bzcat
bzip2 [-cdkzv#]文件名
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原文件,而不会删除原始的文件
-z:压缩的参数
-v:可以显示出压缩过程详细信息
-#:与gizp一样,都是计算压缩比的参数
bzip2 + 文件 压缩默认删除原文件;
bzcat + 压缩包 可以查看压缩文件中的数据
bzip2 -d 解压默认删除压缩文件
xz,unxz,xzcat
xz [-dkv#]文件名
-d:解压缩,效果等同于unxz
-k:压缩保留原文件
-v:显示压缩过程详细信息
-#:同gizp可以设定压缩比,默认为6
tar归档工具:
tar [-jzcv][-f 新建的文件名]filename
-z:通过gizp的方式进行压缩/解压缩此文件名最好为*.gz
-j:通过bzip2的方式进行压缩/解压缩此文件名最好为*.bz2
-v:显示压缩/解压缩的过程
-C:在解压过程中,可以使用-C将其存入指定的目录中
-f:后面要接被处理的文件名。建议-f单独写一个参数
-x:解压缩的功能,可以配合-C在特定目录中解开
-t:查看打包文件的内容含有哪些文件名,重点查看文件名
-c:新建打包文件,可搭配-v来查看过程中被打包的文件名
-p:保留原文件权限与属性
-P:保留绝对路径,允许备份数据中有根目录存在
最简单的使用tar就只要记忆下面的方式即可:
bzip2压缩:tar -jcv -f file.tar.bz2 file1 file2...
bzip2解压:tar -jxv -f file.tar.bz2
bzip2查看:tar -jtv -f file.tar.bz2
解压重定向:tar -jxv -f file.tar.bz2 -C /tmp
gz压缩:tar -zcv -f file.tar.gz file1 file2...
gz解压:tar -zxv -f file.tar.gz
gz查看:tar -ztv -f file.tar.gz
dd:
功用:这个命令不只是制作一个文件而已。dd的最大功效在于“备份”。因为dd可以读取磁盘设备的内容(几乎是直接读取扇区),然后将整个设备备份成一个文件。
格式:dd if="input file" of="output file" bs="block size" count="number"
范例一:将/etc/passwd 备份到 /tmp/passwd.back当中
dd if=/etc/passwd of=/tmp/passwd.back范例二:将/dev/sda1的第一个扇区备份下来(注:第一扇区就是MBR扇区)
dd if=/dev/sda1 of=/tmp/mbr.back bs=512 count=1范例三:找出你系统最小的那个分区,并且将它备份下来;(我的是/dev/sda1)
dd if=/dev/sda1 of=/tmp/sda1.back
你可以说,tar可以用来备份关键数据,而dd则可以用来备份整块分区或整块磁盘,如果要将数据填回到文件系统当中,可能需要考虑到原本的文件系统才能成功。
实战练习:
将/etc/sda1 完整的复制到另一个分区上,请使用你的系统上面未分区完毕的空间再新建一个与/dev/sda1差不多大小的分区(只能比sda1大不能比它小)然后将之进行完整复制。
分析:由于需要复制启动扇区的区块,所以使用cp或者tar这种命令是无法完成需求的。
本文出自 “我动了谁的奶酪” 博客,请务必保留此出处http://wscto.blog.51cto.com/11249394/1752173
相关文章推荐
- CSS布局——DIV水平居中和垂直居中
- 马尔可夫决策过程MDP
- Unmarshalling unknown type code 7667758 at offset 420
- foreach中varStatus属性简介
- Android内存泄漏分析及实践(二)
- js-全选
- 什么样的Team Leader是个优秀的Team Leader?
- 浅谈 MVP in Android
- 自定义时间组件
- Apple Pay开发-项目集成-详细设置
- 数据库集合运算与关系代数
- 数据库MySQL多个数据库服务冲突
- ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
- C程序的执行
- Mac下valgrind的安装和使用
- 判断复选框是否被选中
- 扒扒数据库长长知识(下载资源组合看day2)之 07 (子查询重点+难点)(一般子查询)
- android中MVP模式
- Centos6.5搭建bugzilla
- ibatis批量修改、批量增加、批量删除