文件的压缩与解压缩
在很多情况下要求减少文件的大小,这样可以节省磁盘存储空间,还可以节省网络上传输该文件的时间。首先介绍两个目前最常用的压缩命令和解压缩命令。然后再介绍一个归档命令。压缩与归档命令的联合执行可以让用户一次性地压缩整个子目录以及其中的所有文件。
Linux 文件压缩工具有:gzip、bzip2、rar,7zip、Ibzip2、xz、Irzip、Peazip、arj等。
一.gzip 和 gunzip 命令
gzip、Bunzip是 Linux的标准压缩工具,对文本文件可以达到 75%的压缩率。
1. gzip(gnu zip)命令
语法:
gzip [选项」[文件名」
功能:gzip 命令对文件进行压缩和解压缩,压缩成后缀为.gz 的压缩文件。
gzip 命令的各个选项及其功能如下:
选项 功能
-a 使用 ASCII 文字模式
-c 将输出写到标准输出上,并保留原有文件
-d 解开压缩文件
-f 强行压缩文件。不理会文件名或硬链接 是否存在,以及该文件是否为符号链接
-h 在线帮助
-l 列出压缩文件的相关信息,对每个压缩文 件,显示下列字段:压缩文件的大小,未压 缩文件的大小,压缩比,未压缩文件的名字
-L 显示版本与版权信息
-n 压缩文件时,不保存原来的文件名称及时 间戳记
-q 不显示警告信息
-r 递归式地查找指定目录,并压缩其中的所 有文件或者是解压缩,将指定目录下的所
有文件及子目录一并处理
-S 更改压缩字尾字符串
-t 测试,检查压缩文件是否完整
-v 对每一个压缩和解压的文件显示文件名 和压缩比
-压缩效率 是一个介于 1~9的数,预设值为 6.越大的数值,压缩效率就会越高
--best 此参数的效果和指定—9 参数相同
--fast 此参数的效果和指定—1 参数相同
-num 用指定的数字 num 调整压缩的速度, 一1或-fast 表示最快压缩方法(低压缩 比),-9或--best 表示最慢压缩方法(高 压缩比)。系统默认值为 6
实例如下:
[rootolocalhost txtfile]# dir
cpdir examl.txt exam2.txt exam3.txt temp.txt
//查看 txtfile 目录中的内容。
[root@localhost txtfile]# cd ..
//退到上层目录(ztg)。
[root@localhost ztg]# gzip -r txtfile
//对 txtfile 目录中的子目录以及文件进行压缩。
[root@localhost ztg]# dir txtfile/
cpdir examl.txt.gz exam2.txt.gz exam8.txt.gz temp.txt.gz
//查看 txtfile 目录中的内容,会发现文件以.gz 为后缀,
[rootolocalhost ztg]# dir txtfile/cpdir/
exam1.txt.gz exam2.txt.gz exam3.txt.gz temp.txt.gz
//查看 txtfile/cpdir 目录内容,发现文件以.gz
2. gunzip 命令
语法:
gunzip [选项」[文件名.gz」
功能:sunzip 命令与 gzip 命令相反,专门把 gzip 压缩的.gz 文件解压缩。如果有已经压缩的文件,例如 examl.gz,这时就可以对其进行解压缩:#gunzip examl.gz。也可以用 gzip 自己来完成,效果完全一样:#gzip -d examl,gz。事实上,gunzip 是 gzip的硬链接,因此,不论是压缩或解压缩,都可以通过 gzip 命令来完成。
gunzip 命令选项及其功能如下:
选项 功能
-a 使用 ASCII 文字模式
-c 把解压后的文件输出到标准输出设备
-f 强行解开压缩文件,不理会文件名称或 硬链接是否存在,以及该文件是否为符 号链接
-h 在线帮助
-l 列出压缩文件的相关信息
-L 显示版本与版权信息
-n 解压缩时,若压缩文件内含有远来的文 件名称及时间戳,则将其忽略而不予处理
-N 解压缩时,若压缩文件内含有原来的文件 名称及时间戳,则将其回存到解开的文件上
-q 不显示警告信息
-r 递归处理,将指定目录下的所有文件及子 目录一并处理
-S 更改压缩字尾字符串
-t 测试压缩文件是否正确无误
-v 解压缩过程当中显示进度
实例如下:
[root@localhost ztg]# gunzip -r txtfile对 txtfile
//目录中的压缩文件进行解压缩。
[root@localhost ztg]# dir txtfile/
cpdir examl.txt exam2.txt exam3.txt temp.txt
//查看 txtfile 目录中的内容,会发现以.gz 为后缀的文件已经被解压缩了。
[root@localhost ztg]# dir txtfile/cpdir/
exam1.txt exam2.txt exam3.txt temp.txt
//查看txtfile/cpdir目录中的内容,会发现以.gz为后缀的文件已经被解压缩了。