gzip与zcat
- gzip可以说是Linux里应用最广的压缩命令了。gzip可以解开compress(Linux里一个很古老的压缩命令,但压缩比很差,现已基本废弃)、zip和gzip等软件所压缩的文件。gzip的压缩文件一般以.gz为后缀(非强制)。
- 使用gzip压缩的文件也可以在Windows系统中被WinRAR软件解压缩。
- 常用语法如下:
gzip [-cdtv#] 文件名
参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理,从而保留原文件(默认压缩后原文件就不存在了)
-d:表示解压缩
-t:用来检验压缩文件一致性
-v:用来显示原文件/压缩文件的压缩比等信息
-#:压缩等级,-1最快但压缩比最差,-9最慢但压缩比最好,默认为-6
-
演示如下:
-
可以使用
zcat
命令来查看用gzip压缩的文件:
bzip2与bzcat
- bzip2可以提供比gzip更高的压缩比。用法也跟gzip差不多,具体如下:
bzip2 -[cdkzv#] 文件名
参数:
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩
-k:保留原文件
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:压缩比参数,-9最佳,-1最快
-
使用bzcat可以查看用bzip2命令压缩的文件:
tar
-
无论是gzip还是bzip2命令,都无法对目录压缩,最多也只能批量压缩目录下的文件,并产生多个压缩文件:
如果想要将整个目录压缩成一个压缩文件,就需要借助于
tar
打包命令了:
tar [-j][-z] [cv] [-f 新建的文件名] filename
tar [-j][-z] [tv] [-f 新建的文件名]
tar [-j][-z] [xv] [-f 新建的文件名] [-C 目录]
参数:
-c:打包或压缩,可搭配-v来查看过程中被打包的文件名
-t:查看打包文件的内容含有哪些文件名
-x:解打包或解压缩,可搭配-C在特定目录解开
注意:-c -t -x 不可同时出现在一串命令中
-j:通过bzip2命令压缩/解压缩,此时压缩文件名最好为*.tar.bz2
-z:通过gzip命令压缩/解压缩,此时压缩文件名最好为*.tar.gz
-v:与-c、-x搭配会将正在处理的文件名显示出来,与-t搭配会列出文件的权限和属性的详细信息
-f:后面接压缩到哪个文件
-C:这个参数可用在解压缩时,来指定解压缩到哪个目录下面
其他参数:
-p:保留备份数据的原本权限和属性,常用于备份重要的配置文件
-P:保留绝对路径,即允许备份数据中含有根目录(不建议使用,有解压缩时覆盖导致原数据丢失的风险)
--exclude=filename通配符:在压缩时排除指定文件
-
演示如下:
tar的其他常见用法还有:
1.仅解开单一文件
2.打包某目录而不含某些文件
3.仅打包比某个时刻还要新的文件
END
参考资料:《鸟哥的Linux私房菜》