Linux学习之路——目录
https://blog.csdn.net/sugar_star/article/details/91350251
上节内容:useradd、passwd、who、w
本节内容:gizp、gunzip、bzip2、bunzip、zip、unzip、tar
七、压缩解压命令
和windows有压缩包一样,Linux中同样有压缩文件,本节就来学习如何压缩解压文件。
1.gzip与gunzip
(1)gzip
gzip命令能够压缩文件为.gz格式,但不能压缩目录,且压缩解压时不保留原文件。其选项有:
-d: 解压文件
我们在tmp目录下进行实验,我们先将etc目录下的services文件复制到tmp目录下,然后使用gzip命令对其进行压缩:
可以看到原来的services文件消失,多了远小于原文件大小的services.gz文件。
现在输入gzip -d services.gz进行解压缩:
注意到解压后.gz文件消失了,即gzip命令在压缩解压时都不保留原文件。
(2)gunzip
gunzip命令效果与gzip -d命令一样,都是解压.gz文件且不保留原压缩文件。
2.bzip2与bunzip2
(1)bzip2
bzip2命令能压缩文件为.bz2格式,不能压缩目录,默认不保留原文件。其选项有:
-k: 压缩时保留原文件
可以看到在使用-k选项后,原文件得到保留。
(2)bunzip2
bunzip2能解压.bz2文件,默认不保留原文件。其选项有:
-k: 解压时保留原文件
注意到当前目录下存在与解压后文件同名的文件时会报错,所以先删除services文件后再解压:
未使用-k选项时,services.bz2文件在解压后消失了。
3.zip与unzip
(1)zip
zip命令能够压缩文件与目录,且压缩时默认保留原文件。其选项有:
-r: 压缩目录
与gzip和bzip2命令不同的是,zip命令在压缩文件时需要我们指定压缩前后的文件名。
使用zip命令压缩services文件:
指定压缩后文件名为services.zip,压缩文件为services,压缩了80%
输入gzip -r命令压缩gongsi目录:
这里因为gongsi目录下什么都没有,占空间大小几乎可忽略不计,所以显示压缩了0%
(2)unzip
unzip命令能解压.zip文件,且解压时保留原文件。
使用unzip命令解压services.zip文件:
因为目录下已经有services文件,所以在解压时会询问是否替换services文件,还是重命名。
4.tar
tar命令能够压缩文件或目录,且压缩解压时保留原文件。其选项有:
-c: 打包
-x: 解包
-z: 压缩/解压缩
-v: 显示过程
-f: 指定压缩/解压对象
我们前面讲过的那些命令,其选项都是可用可不用,且选项位置顺序没有规定。但使用tar命令时必须使用选项,且选项的先后位置也不能更改。
输入tar -czvf压缩services文件:
czvf:c先将要压缩的文件打包,z然后对打包后的内容进行压缩,v显示压缩过程中的详细信息,f指定要压缩的文件。这其中czf选项必须使用,顺序也不可更改,只有v选项可以不使用,且位置可变。
输入tar -zxvf解压services.tar.gz文件:
和压缩时相反,解压命令是先解压(z)再解包(x)。需注意的是,解压时虽然已经有services文件,但并不进行询问是否替换或重命名,而是直接替换。