您的位置:首页 > 运维架构 > Linux

Linux常用命令之tar/gzip/gunzip

2015-07-28 12:16 603 查看
11 、tar打包命令(危险命令)

语法:

tar <-options> newfilename oldfilename/directory

newfilename:压缩后的文件名

oldfilename/directory:原文件名或文件的绝对路径

参数:

-f : 使用文件输入或输出(注:该参数必须有,否则使用tar就会报错)

-v : 显示压缩过程

-z : 加入zip压缩属性(gzip压缩比能到10:1)

-x : 解压

-c : 压缩

tar压缩命令常用于包含文件夹的压缩,比如整体项目的挪动。tar本身没有压缩功能,只是打包,并且打包后文件的大小有可能比原文件大。只有加入-z参数后,才能实现压缩功能,这就是gzip压缩,gzip压缩比能达到10:1的压缩效果。

使用-c压缩打包,但这种压缩并不会降低占用空间

[root@admin home]# tar -cvf training.tar training


解压-c的压缩包

[root@admin home]# tar -xvf training.tar


使用gzip压缩,即在tar本身压缩基础上加入-z参数

[root@admin home]# tar -zcvf training.tar.gz training.tar


针对gzip的解压,必须加-z参数,否则是解压不了的(这也是危险命令,不提示的覆盖),如果使用-z去解压没有使用gzip压缩的包也会报错

[root@admin home]# tar -zxvf training.tar.gz


为什么说tar也是一个危险命令呢?因为在tar解压时,是不提示的覆盖。也就是说,如果你要解压的文件存放的路劲下有相同文件名的文件,tar解压时,不会提示是否覆盖,而是直接给覆盖掉,但是这种覆盖也只是同名覆盖。

12、gzip压缩(只能针对文件)

语法:gzip filename

gzip压缩只能针对文件压缩,不能针对目录压缩,并且使用gzip压缩后,源文件就不存在了,相当于直接在原文件后面加了.gz后缀。好处是可以节省空间,压缩比能到10:1,常用于单个文件的压缩,比如日志文件。如:

[root@admin tt]# ls
11.txt  12.txt  a1.txt  a.txt  t  tet
[root@admin tt]# gzip 11.txt
[root@admin tt]# ls
11.txt.gz  12.txt  a1.txt  a.txt  t  tet


需要注意的是,使用gzip压缩的文件,必须使用gunzip解压。

13、gunzip解压(解压gzip压缩的文件)

语法:gunzip filename

实例:

[root@admin tt]# ls
11.txt.gz  12.txt  a1.txt  a.txt  t  tet
[root@admin tt]# gunzip 11.txt.gz
[root@admin tt]# ls
11.txt  12.txt  a1.txt  a.txt  t  tet


gunzip解压后,原压缩文件也会消失。

有时候在解压时,可能会遇到unknown suffix (不知文件的后缀)这个错误,这代表我们使用的解压命令不对。此时可以使用file命令

file filename


查看一下文件的类型,以便选择正确的解压命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: