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
查看一下文件的类型,以便选择正确的解压命令。