文件压缩
几个常见的压缩文件扩展名
*.Z compress 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩;
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩。
gzip,zcat
语法:
gzip [选项] 档名
选项:
-c :将输出写至标准输出,并保持原文件不变
-d :解压缩的参数
-v :可以显示出原文件/压缩文件的压缩比等资讯
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
示例:
1.压缩文件:
2.解压缩:
3.最佳压缩比压缩并且保留源文件:
语法:
zcat 档名.gz
功能:
zcat可以读取压缩后的文件,将文件的内容显示到屏幕上:
bzip2,bzcat
语法:
bzip2 [选项] 档名
选项:
-c :将输出写至标准输出,并保持原文件不变
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件
-z :压缩的参数
-v :可以显示出原文件/压缩文件的压缩比等资讯;
-# :与 gzip 同样的,都是在计算压缩比的参数,-9 最佳,-1 最快
语法:
bzcat 档名.bz2
需要注意的是gzip还是bzip2在压缩和解压缩时都默认删除原来的文件,如果不想删除原来的文件需要加-c选项,并使用重定向符号,指定新文件的名称。
tar
为了能够像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据包成一个文件的样式,需要使用tar命令,tar 可以将多个目录或文件打包成一个大文件,同时还可以通过 gzip/bzip2 的支持,将该文件同时进行压缩。
语法:
打包与压缩:
tar [-j|-z] [cv] [-f 创建的文件名] filename...
察看文件名:
tar [-j|-z] [tv] [-f 创建的文件名]
解压缩:
tar [-j|-z] [xv] [-f 创建的文件名] [-C 目录]
选项:
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名;
-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 打包。
注意:
那个 filename.tar.bz2 是我们自己取的文件名,tar 并不会主动的产生创建的文件名,我们要自定义,所以扩展名就显的很重要了:
如果不加 [-j|-z] 的话,文件名最好取为 *.tar 即可。
如果是 -j 选项,代表有 bzip2 的支持,因此文件名最好就取为 *.tar.bz2 ,因为 bzip2 会产生 .bz2 的扩展名之故。
至于如果是加上了 -z 的 gzip 的支持,那文件名最好取为 *.tar.gz 。
另外,由于 -f filename 是紧接在一起的。
示例:
1. 将文件夹打包:
注意:
“-f” 参数后跟的是打包后的文件名, 然后再是要打包的目录或者文件。tar 打包后,原文件不会消失,而依旧存在。
2.解包:
注意:
解包后.tar文件也不会被删除。
3.打包的同时使用gzip压缩:
4.解压.tar.gz压缩包:
说明:
打包的同时使用bzip2压缩与3,4类似,需要把参数z改成参数j。
5. –exclude选项的使用: