在linux环境下,压缩文件的扩展名大多是:*.tar、*.tar.gz、*.tgz、*.gz、*.Z、*.bz2、*.xz。虽然文件的属性基本上与文件名没有绝对关系。
常见的压缩文件扩展名如下:
*.Z compress 程序压缩的文件; *.zip zip 程序压缩的文件; *.gz gzip 程序压缩的文件; *.bz2 bzip2 程序压缩的文件; *.xz xz 程序压缩的文件; *.tar tar 程序打包的数据,并没有压缩过; *.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩 *.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩 *.tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩 |
1.gzip
gzip所建立的压缩文件为*.gz。目前gzip可以解开compress、zip、gzip等压缩文件。命令语法:
gzip [-cdtv#] 文件名 -c :将压缩的数据输出到屏幕上,可通过数据流重定向来处理 -t :可以用来检验一个压缩文件的一致性,看文件有无错误 -d :解压缩的参数 -v :显示源文件/压缩文件的压缩比信息 -# :#为数字的意思,表示压缩等级,-1最快,但是压缩比最差,-9相反,默认-6 |
当使用gzip进行压缩时,在默认状态下原本的文件会被压缩成.gz后缀的文件,源文件就不再存在了。
范例: //压缩test文件 gzip -v test
//解压缩test.gz文件 gzip -d test.gz
//将test文件用最佳的压缩比压缩,并保留源文件 gzip -9 -c test > test.gz -c可以将原本要转成压缩文件的数据内容,将它变成文字类型从屏幕输出,然后通过>将原本应该由屏幕输出的数据,转成输出到文件而不是屏幕 |
zcat,zmore,zless可以对应于cat,more,less的方式读取纯文本压缩后的文件。compress的压缩文件也可以使用gzip解开。另外,如果想要从文字压缩文件当中找数据的话,可以通过egrep来查找关键(存疑)
2.bzip2
压缩文件后缀名为.bz2。bzip2是为了替换gzip并提供更好的压缩比而来。bzip2的用法几乎和gzip相同。命令语法:
bzip2 [-cdkzv#] 文件名
-k :保留原始文件,而不会删除原始文件 -z :压缩的参数(默认值,可以不加) |
范例
//压缩 bzip2 -v test
//查看 bzcat test.bz2 |
bzip2和gzip的用法大同小异。bzip2的压缩率比gzip的要好些,不过,对于大容量文件来说,bzip2的压缩时间会花更久。
3.xz
跟gzip,bzip2用法几乎一模一样。命令语法:
xz [-dtlkc#] 文件名 -l :列出压缩文件的相关信息 |
范例:
//压缩 xz -v test //列出压缩文件的相关信息 xz -l test.xz |
4.打包命令:tar
前面介绍的命令仅仅能对单一文件进行压缩,虽然gzip,bzip2,xz也能够针对目录进行压缩,但是对目录的压缩指的是将目录内的所有文件分别进行压缩的操作。
tar可以将多个目录或文件打包成一个大文件,同时还可以通过gzip,bzip2,xz的支持,将该文件进行压缩
tar的命令以及部分参数:
-c :建立打包文件,可搭配-v来查看过程中被打包的文件名 -t :查看打包文件的内容有哪些文件名 -x :解压缩 -z :通过gzip的支持进行压缩/解压缩 -j :通过bzip2的支持进行压缩/解压缩 -J :通过xz的支持进行压缩/解压缩 -v :将过程中正在处理的文件名显示处理 -f filename :后边要立刻接被处理的文件名,建议-f单独写一个选项,便于记忆 -C 目录 :用在解压缩,若要在特定目录解压缩,可以使用该选项 -p :保留备份数据的原本权限与属性,常用于备份重要的配置文件 -P :保留绝对路径,即允许备份数据中包含有根目录(/)存在。建议不要加上该参数来备份,因为备份是为了追踪问题,不是一定要还原到原本的系统中。 |
最简单的使用tar只要记住以下几个命令即可:
压缩: tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 查询: tar -jtv fllename.tar.bz2 解压缩: tar -jxv -f filename.tar.bz2 [-C 欲解压缩的目录]
j可以是【z|j|J】 |