1. 压缩命令
用途:制作压缩文件、解开压缩文件
(1) gzip
压缩后文件格式:.gz
注意:gzip 命令只能压缩文件,不能压缩整个目录,对于目录可使用tar先打包,然后再压缩
命令格式:
① 压缩文件:
gzip [-<压缩效率>] [-v] <源文件>
-<压缩效率>:压缩效率是一个介于 1 - 9 的数值,预设值为 "6" ,指定愈大的数值,压缩效率就会愈高。
-v:显示指令执行过程
对于gzip -r <目录>
-r:递归处理,将指定目录下的所有文件及子目录里的所有文件一并处理,所有文件各自分别压缩
(目录下的子文件及子目录里的文件会分别压缩)
。
这样压缩之后原有的文件没有了,生成了.gz格式的压缩文件,如果要在压缩的同时保存原有的文件,命令如下:
gzip [-<压缩效率>] -c <原文件> > <.gz格式的压缩文件>
-c:压缩同时保存原文件
>:输出重定向
② 查看压缩信息:
gzip -l <.gz格式的压缩文件>:列出压缩后压缩文件的相关信息
zcat <.gz格式的压缩文件>:查看压缩后压缩文件的内容
③ 解压文件:
gzip -d <.gz格式的压缩文件>
-d:解开压缩文件
同样解压之后.gz格式的压缩文件没有了。
另一种方法是:
gunzip <.gz格式的压缩文件>
例:我们从/etc目录下拷贝一份文件kdump.conf到/home/test目录下进行实验,
现在对kdump.conf文件进行压缩:
压缩后再查看/home/test目录下的文件:
发现只有压缩后的kdump.conf.gz文件,而源文件kdump.conf已经不存在了。
如果要压缩的同时保存源文件,操作如下:
再查看/home/test目录下的文件:
此时发现源文件仍然存在。
查看kdump.conf.gz压缩文件的相关信息:
解压kdump.conf.gz文件:
(2) bzip2
压缩后文件格式:.bz2
注意:和 gzip 一样,bzip2 命令只能压缩文件,不能压缩整个目录,对于目录可使用tar先打包,然后再压缩
命令格式:
① 压缩文件:
bzip2 [-<压缩效率>] [-z] <原文件>
-<压缩效率>:压缩效率是一个介于 1 - 9 的数值,预设值为 "6" ,指定愈大的数值,压缩效率就会愈高。
-z:强行执行压缩
这样压缩之后原有的文件没有了,生成了.bz2 格式的压缩文件,如果要在压缩的同时保存原有的文件,有两种方法:
第一种方法和gzip类似,命令如下:
bzip2 [-<压缩效率>] -c <原文件> > <.bz2格式的压缩文件>
-c:压缩同时保存原文件
>:输出重定向
第二种方法命令如下:
bzip2 -k <原文件>
② 查看压缩信息:
file <.bz2格式的压缩文件>:列出压缩后压缩文件的相关信息
bzcat <.bz2格式的压缩文件>:查看压缩后压缩文件的内容
③ 解压文件:
bzip2 -d <.bz2格式的压缩文件>
-d:解开压缩文件
同样解压之后.bz2格式的压缩文件没有了,生成了原文件。
另一种方法是:
bunzip2 [-k] <.bz2格式的压缩文件>
-k:解压缩后保留压缩文件
具体操作与gzip命令类似,此处不再举例。
(3) lzma
压缩后文件格式:.lzma
命令格式:
① 压缩文件:
lzma <原文件>
同样压缩之后原有的文件没有了,生成了.lzma格式的压缩文件。
② 解压文件:
lzma -d <.lzma格式的压缩文件>
或 unlzma <.lzma格式的压缩文件>
(4) zip
压缩后文件格式:.zip
命令格式:
① 压缩文件:
zip [-r] <压缩后的.zip格式的文件名> <原文件或目录>
-r:压缩目录
② 解压文件:
unzip <.zip格式的压缩文件>
zip的压缩和解压都会保存原有的文件。
具体操作与gzip命令类似,此处不再举例。
(5) xz
压缩后文件格式:.xz
命令格式:
① 压缩文件:
-k:保留原有被压缩的文件
② 解压文件:
xz -d [-k] <.xz格式的压缩文件>
-d:解开压缩文件
-k:保留原有被解压的文件
用途:
制作归档文件、释放归档文件
(1) tar
命令格式:
tar [选项] <归档(压缩)文件名> <源文件或目录> (对.tar源文件进行压缩,对目录进行打包(并压缩))
常用命令选项:
-c:创建.tar格式的包文件
-x:解开.tar格式的包文件
-t:列表查看包内的文件
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
-p:打包时保留原始文件即目录的权限
-P:文件名使用绝对名称,不移除文件名称前的“/”号
-v:输出详细信息
-f:指定文件名
-C:解包时指定释放的目标文件夹
一般情况下,相关具体操作命令如下:
① 打包目录并压缩:
tar -zcvf xxx.tar.gz xxx 或 tar -jcvf xxx.tar.bz2 xxx
② 查看文件内容:
tar -ztvf xxx.tar.gz 或 tar -jtvf xxx.tar.bz2
③ 解压并释放文件:
tar -zxvf xxx.tar.gz 或 tar -jxvf xxx.tar.bz2
如果从一个压缩包只释放一个文件,则在上面的命令后面加上相关文件名即可。
在命令后面加上-C <目录>,表示解包时指定释放的目标文件夹为<目录>。
例:我们对/etc目录进行备份来进行实验。
将/etc目录备份为etc.tar.gz文件,具体命令如下:
打包备份后查看/home/test目录:
发现多了一个etc.tar.gz文件。
若要备份为etc.tar.bz2文件,命令如下:
此时查看/home/test目录又多了一个etc.tar.bz2文件。
解压etc.tar.gz文件:
此时查看/home/test目录会多了一个etc目录。
类似的可以解压etc.tar.bz2文件。
(2) 更快速的归档工具——pbzip2
使用pbzip2替代bzip2进行压缩解压,可支持多核。
命令格式:
① 压缩文件:
pbzip2 [选项] <源文件>
-k:保留源文件
-p<数字>:处理器数量,默认自动检测,检测失败设置为2
如:tar -cvf etc.tar /etc
pbzip2 -p2 etc.tar
② 解压文件:
pbzip2 -d[选项] <压缩文件>
如:pbzip2 -d etc.tar.bz2