博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件与文件系统的压缩与打包
阅读量:6241 次
发布时间:2019-06-22

本文共 2676 字,大约阅读时间需要 8 分钟。

Linux常见的压缩命令

在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』,为什么会有这样的扩展名呢?不是说 Linux 的扩展名没有什么作用吗?

*.Z         compress 程序压缩的文件;*.gz        gzip 程序压缩的文件;*.bz2       bzip2 程序压缩的文件;*.tar       tar 程序打包的数据,并没有压缩过;*.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩*.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩

Linux上常见的压缩命令就是 gzip 与 bzip2,tar 可以将很多文件『打包』成为一个文件!甚至是目录也可以这么玩。

gzip, zcat 

gzip 可以说是应用度最广的压缩命令了!目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 至於 gzip 所创建的压缩档为 *.gz 的档名喔!让我们来看看这个命令的语法吧:

gzip [-cdtv#] 档名zcat 档名.gz
选项与参数:-c  :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;-d  :解压缩的参数;-t  :可以用来检验一个压缩档的一致性~看看文件有无错误;-v  :可以显示出原文件/压缩文件的压缩比等资讯;-#  :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

当你使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的档名, 原始文件就不再存在了。您也可以发现,由於 gzip 的压缩比要比 compress 好的多,所以当然建议使用 gzip 啦! 此外,使用 gzip 压缩的文件在 Windows 系统中,竟然可以被 WinRAR 这个软件解压缩呢!

gzip -v man.config  压缩

zcat man.config.gz  文本解压

gzip -d man.config.gz  解压缩

上述3个都会删除原始文件

gzip -9 -c man.config > man.config.gz  重定向将不会删除原始文件 

其实 gzip 的压缩已经最佳化过了,所以虽然 gzip 提供 1~9 的压缩等级,不过使用默认的 6 就非常好用了

bzip2, bzcat 

若说 gzip 是为了取代 compress 并提供更好的压缩比而成立的,那么 bzip2 则是为了取代 gzip 并提供更佳的压缩比而来的。 bzip2 真是很不错用的东西~这玩意的压缩比竟然比 gzip 还要好~至於 bzip2 的用法几乎与 gzip 相同! 看看底下的用法吧!

bzip2 [-cdkzv#] 档名bzcat 档名.bz2选项与参数:-c  :将压缩的过程产生的数据输出到萤幕上!-d  :解压缩的参数-k  :保留原始文件,而不会删除原始的文件喔!-z  :压缩的参数-v  :可以显示出原文件/压缩文件的压缩比等资讯;-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

和gzip一样 只是结尾的后缀名是*.bz2

打包命令: tar

tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩tar [-j|-z] [tv] [-f 创建的档名]             <==察看档名tar [-j|-z] [xv] [-f 创建的档名] [-C 目录]   <==解压缩选项与参数:-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)-t  :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开      特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。其他后续练习会使用到的选项介绍:-p  :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档-P  :保留绝对路径,亦即允许备份数据中含有根目录存在之意;--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

其实最简单的使用 tar 就只要记忆底下的方式即可:

  • 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

  • 查 询:tar -jtv -f filename.tar.bz2

  • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录 

那个 filename.tar.bz2 是我们自己取的档名,tar 并不会主动的产生创建的档名喔!我们要自订啦! 所以扩展名就显的很重要了!如果不加 [-j|-z] 的话,档名最好取为 *.tar 即可。如果是 -j 选项,代表有 bzip2 的支持,因此档名最好就取为 *.tar.bz2 ,因为 bzip2 会产生 .bz2 的扩展名之故! 至於如果是加上了 -z 的 gzip 的支持,那档名最好取为 *.tar.gz 喔!

另外,由於『 -f filename 』是紧接在一起的,过去很多文章常会写成『-jcvf filename』,这样是对的, 但由於选项的顺序理论上是可以变换的,所以很多读者会误认为『-jvfc filename』也可以~事实上这样会导致产生的档名变成 c ! 因为 -fc 嘛!所以罗,建议您在学习 tar 时,将『 -f filename 』与其他选项独立出来,会比较不容易发生问题。

  • 使用 tar 加入 -j 或 -z 的参数备份 /etc/ 目录

本文转自岁月丶倾城博客51CTO博客,原文链接http://blog.51cto.com/alca0126/1622667如需转载请自行联系原作者
laihuadongcto
你可能感兴趣的文章
[20150529]用户与用户组管理
查看>>
baidu__git_android
查看>>
ZC_源码编译真机烧写_20160424
查看>>
day26-UDP协议无粘包问题
查看>>
使用HTML5的十大原因
查看>>
转发:修饰符
查看>>
【转载】Linux下configure命令详细介绍
查看>>
图片中转站
查看>>
DSP c6678的启动方式
查看>>
【Linux】解决Android Stadio报错:error in opening zip file
查看>>
功能(一):添加影像服务图层
查看>>
选择伊始
查看>>
PHP中继承
查看>>
总结各种容器特点
查看>>
SQL Server高级查询
查看>>
13-Flutter移动电商实战-ADBanner组件的编写
查看>>
ubuntu 16.04 启用root用户方法
查看>>
阿里巴巴矢量图标库
查看>>
南阳理工904
查看>>
1. Two Sum
查看>>