1. 前言
本文主要讲解linux常见的压缩命令的功能以及其使用方法。
linux常见的压缩命令
2. Linux系统常见压缩文件扩展名
- .Z compress 程序压缩的文件
- .zip zip 程序压缩的文件
- .gz gzip 程序压缩的文件
- .bz2 bzip2 程序压缩的文件
- .xz xz 程序压缩的文件
- .tar tar 程序打包的数据,并没有压缩过
- .tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
- .tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
- .tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩
- Linux上常见的压缩指令就是 gzip, bzip2 以及最新的 xz ,注意, compress 已经被淘汰了。
3. 使用gzip命令压缩和解压缩
目前gzip套件可以解开compress、zip 、 gzip 等软件所压缩的文件。
使用gzip压缩或者解压缩文件时,默认会把原始文件删除。
gzip的语法
gzip [-cdtv/#] 文件名
选项解释
-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理
-d :解压缩的参数
-t :可以用来检验一个压缩文件的一致性~看看文件有无错误
-v :可以显示出原文件/压缩文件的压缩比等信息;
-/# :/# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6 eg: gzip -v services 使用gzip压缩的文件在windows系统中,可以被winrar/7zip这个软件解压缩。
解压缩.gz后缀结尾的文件
gzip -d xxx.gz
4. Linux使用bzip2命令压缩与解压缩文件
bzip2提供了比gzip更好的压缩比,用法几乎与gzip相同。
bzip2使用语法如下:
bzip2 [-cdkzv/#] 文件名
bzip2选项与参数解释:
-c :将压缩的过程产生的数据输出到屏幕上
-d :解压缩的参数
-k :保留原始文件,不删除原始的文件
-z :压缩的参数 (默认值,可以不加)
-v :可以显示出原文件/压缩文件的压缩比等信息;
-/# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
5. Linux使用xz命令压缩与解压缩文件
虽然 bzip2 已经具有很棒的压缩比,不过显然某些自由软件开发者还不满足,因此后来还推出了 xz 这个压缩比更高的软件!这个软件的用法也跟 gzip/bzip2 几乎一模一样!
xz语法
xz [-dtkc/#] 文件名
-d : 解压缩
-t : 测试
-l : 列出压缩文件的相关信息
-k : 保留原本文件不删除
-c : 将数据由屏幕上输出
-/# : 1-9压缩比选择。
Linux使用xz命令压缩与解压缩文件
6. Linux使用tar程序打包文件
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
tar是打包指令,将文件夹压缩成一个文件包。而gizp and bzip2只能将目录中的文件一次压缩成一个个独立的压缩文件,不是一个整的压缩包。
tar可以将多个目录或文件打包成一个大文件,同时还可以通过gzip/bzip2/xz的支持,将该文件同时进行压缩。tar的应用很广泛,目前windows的winrar也支持.tar.gz文件名的解压缩。
tar的常见语法 tar的选项与参数非常的多,下面之涉及几个常用的选项,更多选项可以自行man tar查询。
tar命令常见使用方法
打包压缩常用用法
打包压缩后文件名 待打包压缩目录或者一般文件
tar --exclude=\'PATTERN\' -cavf
解压缩解包常用用法
打包压缩后文件名
tar --exclude=\'PATTERN\' -xavf
选项与参数功能
打包压缩含义
对待打包压缩目录或者一般文件进行打包压缩,其中压缩这个步骤是可选的。
解压缩解包含义
对打包压缩后文件,进行解压缩解包,其中解压缩这个步骤是可选的。
选项
打包压缩选项
–exclude=\'PATTERN\':打包时,过滤掉指定文件。“PATTERN”是一个通配符模式表达式。可以有多个“–exclude”选项。
-c:表示打包(助记“create”)。
-a:根据打包压缩后文件名的后缀来确定压缩算法,如果不能找到相应的压缩算法,那么就不压缩,即只打包而已。具体见“三、其他”(助记“auto”)。
-v:打印过程中的日志信息。
-f:指定打包压缩后文件名,比如有“test.tar.gz,test.tar.xz,test.tgz,test.tar”(助记“file”)。
“待打包压缩目录或者一般文件”:可对一个目录进行打包压缩,也可对一个一般文件进行打包压缩。
解压缩解包选项
-exclude=\'PATTERN\':解包时,过滤掉指定文件。“PATTERN”是一个通配符模式表达式。可以有多个“–exclude”选项。
-x:表示解包(助记“extract”)。
-a:根据打包压缩后文件名的后缀来确定解压缩算法,具体见“三、其他”(助记“auto”)。
-v:打印过程中的日志信息。
-f:指定打包压缩后文件名,比如“test.tar.gz,test.tar.xz,test.tgz,test.tar”(助记“file”)。
tar命令支持很多压缩算法,比如“gzip,bzip2,lzip,lzma,lzop,xz和compress”等。在打包过程中,在对目录或者一般文件打包得到一个打包文件后,可以选择某个上述压缩算法对该打包文件进行压缩,即先打包再压缩;在解包过程中,完全是个逆过程,即先解压缩再解包。
为了省去需要明确指定使用的压缩算法的麻烦,tar命令提供一个“-a”选项,通过启用该选项,tar命令可以根据“打包压缩后文件名”中的后缀来确定需要使用的压缩算法。
Linux使用tar程序打包文件
总结:
linux常见的压缩命令工具有:gzip,bzip2,xz,tar是打包程序,tar的压缩与解压缩需要依赖gzip,bzip2,xz这些程序。