本文主要介绍gzip,zcat和bzip2,zcat这两组命令的使用。
gzip可以将给定文件进行压缩,压缩后文件的后缀名为*.gz,而zcat可以在不解压缩的前提下查看压缩文件内容。️同理,bzip2是比gzip有更高压缩比的工具,bzcat是查看压缩文件内容:文件压缩后生产的压缩文件的atime和mtime保持不变,ctime更新成最新值 ,因此我们在写一些备份或者清理脚本的时候尽量使用mtime。
gzip命令格式如下:
[root@www ~]# gzip [-cdtv#] 档名
选项与参数:
-c :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等资讯;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
zcat命令格式如下:
Usage: /usr/bin/zcat [OPTION]... [FILE]...
Uncompress FILEs to standard output.
-f, --force force; read compressed data even from a terminal
-l, --list list compressed file contents
-q, --quiet suppress all warnings
-r, --recursive operate recursively on directories
-S, --suffix=SUF use suffix SUF on compressed files
-t, --test test compressed file integrity
-v, --verbose verbose mode
--help display this help and exit
--version display version information and exit
bzip2命令格式(参数和用法几乎和gzip一样):
[root@www ~]# bzip2 [-cdkzv#] 档名
选项与参数:
-c :将压缩的过程产生的数据输出到萤幕上!
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数
-v :可以显示出原文件/压缩文件的压缩比等资讯;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[root@www tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !
范例二:将范例一的文件内容读出来!
[root@www tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@www tmp]# bzip2 -d man.config.bz2
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@www tmp]# bzip2 -9 -c man.config > man.config.bz2
bzcat命令格式:
usage: bzcat [flags and input files in any order]
-h --help print this message
-d --decompress force decompression
-z --compress force compression
-k --keep keep (don't delete) input files
-f --force overwrite existing output files
-t --test test compressed file integrity
-c --stdout output to standard out
-q --quiet suppress noncritical error messages
-v --verbose be verbose (a 2nd -v gives more)
-L --license display software version & license
-V --version display software version & license
-s --small use less memory (at most 2500k)
-1 .. -9 set block size to 100k .. 900k
--fast alias for -1
--best alias for -9
示例:
将name_list.txt文件压缩(️压缩后原始文件已经不存在,只有和原始文件同名的gz文件):
[haohao@localhost ~]$ gzip -v name_list.txt
name_list.txt: 84.1% -- replaced with name_list.txt.gz
[haohao@localhost ~]$ ls
name_list.txt.gz
将上面压缩的文件解压出来(️解压后gz文件消失,只存在解压后的文件):
[haohao@localhost ~]$ gzip -d name_list.txt.gz
[haohao@localhost ~]$ ls
name_list.txt
用zcat查看压缩出后的文件:
[haohao@localhost ~]$ zcat name_list.txt.gz
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq