设为首页 收藏本站
查看: 441|回复: 0

[经验分享] linux档案与文件系统的压缩与打包指令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-22 09:19:01 | 显示全部楼层 |阅读模式
1.文件压缩的原理:目前,计算机系统中都是使用bytes单位来计量的,不过,事实上,计算机最小的计量单位应该是bits才对,此外,我们也知道1byte=8bits。即每个byte当中会有8个空格,而每个空格可以是0或1,所以,如果我们要记录1这个数字,那么就会将另外的7个空格浪费掉。而压缩技术就是通过一些算法,将这些没有使用的控件丢出来,以让档案占用的空间变小。另一种压缩技术将重复的数据进行统计记录。比如,1111……1共100个1时,压缩技术就会记录为100个1,而不是实际存储100个1。
2.文件后缀与压缩方式:
    1)*.Z:compress程序压缩的档案
    2)*.gz:gzip程序压缩过的档案
    3)*.bz2:bzip2程序压缩的档案
    4)*.tar:tar程序打包的数据,并没有压缩过。
    5)*.tar.gz:tar程序打包的档案,并且经过gzip压缩过
    6)*.tar.bz2:tar程序打包的档案,并且经过bzip2的压缩
3.linux上常见的压缩指令就是gzip与bzip2,至于compress已经退出流行了。gzip是由GNU计划所开发出来的指令,该指令已经取代了compre。后来GNU又开发出bzip2这个压缩比更好的压缩指令。不过,这些指令通常仅能针对一个档案压缩与解压缩,如此一来,每次压缩与解压缩都要一大堆档案。因此,可以用tar进行打包。tar将很多档案打包成一个档案,甚至是目录。单纯的tar只是打包的功能。
4.compress  [-rcv] 档案或目录:非常老的指令,需要安装ncompress软件。gzip可以解开这个指令压缩的档案。
    1)-r:可以连同目录下的档案同时压缩
    2)-c:将压缩数据输出到屏幕,可以通过>filename 另存到指定的档案,源文件依然存在
    3)-v:可以显示出压缩后的档案信息以及压缩过的一些档案名变化
    在预设情况下,源文件会被压缩文件替换掉。
    uncompress  档案.Z:解压文件,解压后会去掉后缀,还原成源文件。
5.gzip  [-cdtv#] 档名;zcat  档名.gz:压缩解压缩档案,参数:
    1)-c:将压缩的数据显示到屏幕上,可透过数据流导向来处理
    2)-d:加压缩的参数
    3)-t:可以用来检验一个压缩文件的一致性,看档案有无错误
    4)-v:可以显示出原档案/压缩文件的压缩比等信息
    5)-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,预设是-6,在#处输入数字
    该指令在预设情况下会将档案压缩成后缀为.gz的档案名,源文件就不再存在了。另外该指令压缩的文件也可以被windos下的winrar软件解压。
    zcat这个指令可以读取gzip压缩后的文件
6.bzip2  [-cdkzv#] 档名,bzcat  档名.bz2:提供比gzip更好的压缩方案,参数:
    1)-c:将压缩的过程产生的数据输出到屏幕上
    2)-d:解压缩的参数
    3)-k:保留源文件,而不会删除原始档案
    4)-z:压缩的参数
    5)-v:可以显示出原档案/压缩文件案的压缩比等信息
    6)-#:与gzip同样的,都是在计算压缩比参数,-9最佳,-1最快
    bzcat:同样可以读取压缩过的文件
7.tar  [-jz] [cv] [-f 建立的档名] filename:打包并压缩
tar  [-jz] [tv] [-f 建立的档名] :查看档名
tar  [-jz] [xv] [-f 建立的档名] [-C 目录] :解压缩
参数:
    1)-c:建立打包档案,可搭配-v来擦看过程中被打包的档名
    2)-t:查看打包档案的内容还有哪些档名
    3)-x:解包或解压缩的功能,可以搭配-C在特定目录下解开
    特别注意:-c,-t,-x不能同时出现在一条指令中
    4)-j:透过bzip2的支持进行压缩/解压缩:此时档案名最后为*.tar.bz2
    5)-z:透过gzip的支持进行压缩/解压缩:此时档名最好为tar.gz
    6)-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来
    7)-f filename:-f后面要立刻接要被处理的档名
    8)-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
    9)-p:保留备份数据的原本权限与属性,常用于备份重要的配置文件
    10)-P:保留绝对路径,亦即允许备份数据中含有根目录存在之意
    11)--exclude=FILE:在压缩过程中,不要讲FILE打包。
    指令套餐:
    压缩:tar –jcv –f filename.bar.bz2 要被压缩的档案或目录名称
    查询:tat –jtv –f filename.tar.bz2
    减压缩:tar –jxv –f filename.tar.bz2  -C 欲解压缩的目录
    上述j的位置也可换成-z代表gzip压缩方式。
8.dump  [-Suvj] [-level] [-level] [-f 备份档案] 待备份的档案;dump  W:参数,
    1)-S:仅列出后面的待备份数据需要多少空间才能备份完毕
    2)-u:将这次dump的时间记录到etc/dumpdates档案中
    3)-v:将dump的档案过程显示出来
    4)-j:加入bzip2的支持,将数据进行压缩,默认是bzip2压缩等级为2
    5)-level:等级,从-0~-8
    6)-f filename:后面接产生的档案
    7)-W:列出在etc/fstab里面的具有dump设定的partition是否有备份过
9.restore  -r [-f dumpfile]:还原整个文件系统,参数:
    1)-t:此模式用在查看dump起来的备份文件中含有什么重要数据
    2)-C:此模式可以将dump内的数据拿出来跟实际文件系统作比较
    3)-i:进入互动模式,可以仅还原部分档案,用在dump目录时的还原
    4)-r:将整个文件系统还原的一种模式,用在还原针对文件系统dump备份
    5)-h:查看完整备份数据中的inode与文件系统label等信息
    6)-f:后面就接你要处理的那个dump档案
    7)-D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的档案。
10.mkisofs  [-o 映像档][-rv][-m file] 待备份的文件 …[-V vol] –graft-point isodir=systemdir …,参数:
    1)-o:后面接你想要产生的那个映像档档名
    2)-r:透过Rock Ridge产生Unix/Linux的档案数据,可记录较多的信息
    3)-v:显示建置ISO的过程
    4)-m file:-m为排除档案的意思,后面的档案不备份到映像档
    5)-V vol:建立Volume,有点像Windos在档案总管内看到的CD title的东西
    6)-graft-point:graft有转嫁或移植的意思,
11.cdrecord:光盘刻录指令
12.dd  -if=inputfile of=outfile bs=blocksize count=number:参数,
    1)if:就是要备份的档案,也可以是装置
    2)of:就是备份的目标档案,也可以是装置
    3)bs:规划的一个block大小,若未指定则预设512bytes
    4)count:多少个bs的意思
13.cpio  –ovcB >[file|device] 备份;cpio  -ivcdu <[file|device] 还原;cpio  -ivct <[file|device] 查看,参数:
    1)-o:将数据copy输出到档案或装置上
    2)-B:让预设的Blocks可以增加至5120bytes,预设是512bytes,这样可以让大档案存取速度更快
    3)-i:将数据自档案或装置copy到系统当中
    4)-d:自动建立目录
    5)-u:自动将较新的档案覆盖较旧的档案
    6)-t:需要配合-i选项,可用在“查看”以cpio建立的档案或装置的内容
    7)-v:让存储的过程中文件名可以在屏幕上显示
    8)-c:一种较新的portable format方式存储



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-38378-1-1.html 上篇帖子: Linux常用命令之rmdir 下篇帖子: HTTP Status 500 - /WEB-INF/ #{...} is not allowed in template text linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表