每天回顾linux命令(gzip)

linux 专栏收录该内容
52 篇文章 1 订阅

gzip命令
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后缀为“.gz”扩展名。
gzip是linux系统中经常使用的一个对文件进行压缩和解压的命令,既方便有好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

语法

gzip (选项) (参数)

选项
不加参数:直接压缩

root@35d388cf883b:/home/wzm/testgzip# ls
redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip  redis.conf
root@35d388cf883b:/home/wzm/testgzip# ls
redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip#

-a或–ascii:使用ASCII文字模式

//笔者使用的版本已经没有-a了
root@35d388cf883b:/home/wzm/testgzip# gzip -a redis.conf
gzip: option --ascii ignored on this system
root@35d388cf883b:/home/wzm/testgzip# ls

-d或–decompress或–uncompress:解开压缩文件

root@35d388cf883b:/home/wzm/testgzip# ls
redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -d redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# ls
redis.conf
root@35d388cf883b:/home/wzm/testgzip#

-f或–force:强行压缩文件。不理会文件名称或硬链接是否存在以及该文件是否为连接

root@35d388cf883b:/home/wzm/testgzip# ln -s redis.conf aaa
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf
root@35d388cf883b:/home/wzm/testgzip# ll aaa
lrwxrwxrwx 1 root root 10 Nov 20 01:18 aaa -> redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip aaa
gzip: aaa: Too many levels of symbolic links
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip -f aaa
root@35d388cf883b:/home/wzm/testgzip# ls
aaa.gz  redis.conf
root@35d388cf883b:/home/wzm/testgzip#

-l或–list:列出压缩文件的相关信息。

root@35d388cf883b:/home/wzm/testgzip# ls
aaa.gz  redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip -l aaa.gz
         compressed        uncompressed  ratio uncompressed_name
              20056               57764  65.3% aaa
root@35d388cf883b:/home/wzm/testgzip#

-n或–no-name:压缩文件时,不保存原来的文件名称及时间戳。经过测试,默认带上该参数。

root@35d388cf883b:/home/wzm/testgzip# stat redis.conf
  File: 'redis.conf'
  Size: 57764           Blocks: 120        IO Block: 4096   regular file
Device: 70h/112d        Inode: 123         Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-11-20 01:18:36.729884002 +0000
Modify: 2017-11-20 01:10:54.720507911 +0000
Change: 2017-11-20 01:18:00.944298539 +0000
 Birth: -
root@35d388cf883b:/home/wzm/testgzip# gzip redis.conf
root@35d388cf883b:/home/wzm/testgzip# cp redis.conf.gz  ..
root@35d388cf883b:/home/wzm/testgzip# cd ..
root@35d388cf883b:/home/wzm# gzip -d redis.conf.gz
root@35d388cf883b:/home/wzm# stat redis.conf
  File: 'redis.conf'
  Size: 57764           Blocks: 120        IO Block: 4096   regular file
Device: 70h/112d        Inode: 133         Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-11-20 01:22:42.862478572 +0000
Modify: 2017-11-20 01:22:42.862478572 +0000
Change: 2017-11-20 01:22:58.277807695 +0000
 Birth: -
root@35d388cf883b:/home/wzm#

-N或–no-name:压缩文件时,保存原来文件名称及时间戳。

root@35d388cf883b:/home/wzm/testgzip# ll redis.conf
-rw-r--r-- 1 root root 57764 Nov 20 01:26 redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip -N redis.conf
root@35d388cf883b:/home/wzm/testgzip# ls
aaa.gz  redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -d -N redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# ll redis.conf
-rw-r--r-- 1 root root 57764 Nov 20 01:26 redis.conf
root@35d388cf883b:/home/wzm/testgzip#

-q或–quiet:不显示警告信息,比如权限问题

root@35d388cf883b:/home/wzm# ls
go  redis-4.0.2  redis-4.0.2.tar.gz  testgzip
root@35d388cf883b:/home/wzm# gzip testgzip/
gzip: testgzip/ is a directory -- ignored
root@35d388cf883b:/home/wzm# gzip testgzip/ -q
root@35d388cf883b:/home/wzm# ls
go  redis-4.0.2  redis-4.0.2.tar.gz  testgzip

-r或–recursive:递归处理,将制定目录下所有文件及子目录一并处理。

root@35d388cf883b:/home/wzm# gzip testgzip/
gzip: testgzip/ is a directory -- ignored
root@35d388cf883b:/home/wzm# gzip testgzip/ -q
root@35d388cf883b:/home/wzm# ls
go  redis-4.0.2  redis-4.0.2.tar.gz  testgzip
root@35d388cf883b:/home/wzm# gzip -r testgzip/
gzip: testgzip//aaa: Too many levels of symbolic links
root@35d388cf883b:/home/wzm# ls
go  redis-4.0.2  redis-4.0.2.tar.gz  testgzip
root@35d388cf883b:/home/wzm# cd testgzip/
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip#

-S <压缩文件后缀>或–suffix<压缩文件后缀>:更改压缩字尾字符串。(一般不用)

root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip redis.conf -S ggzz
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.confggzz
root@35d388cf883b:/home/wzm/testgzip#

-t或–test:测试压缩文件是否正确无误。

root@35d388cf883b:/home/wzm/testgzip# gzip -t aaa

gzip: aaa: not in gzip format
root@35d388cf883b:/home/wzm/testgzip# gzip redis.conf
root@35d388cf883b:/home/wzm/testgzip# gzip -t redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf.gz

-v或–verbose:显示指令执行过程

root@35d388cf883b:/home/wzm/testgzip# gzip -d redis.conf.gz  -v
redis.conf.gz:   65.3% -- replaced with redis.conf
root@35d388cf883b:/home/wzm/testgzip# ls
aaa  redis.conf
root@35d388cf883b:/home/wzm/testgzip#

-V或–version:显示版本信息
-< 压缩效率 >:压缩效率是一个介于1~9的数值,默认为6,指定数值越大,压缩效率越高。
–best:和“-9”一样
–fast:和“-1”一样**

root@35d388cf883b:/home/wzm/testgzip# gzip -9 redis.conf  -v
redis.conf:      65.4% -- replaced with redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -d redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip --best redis.conf  -v
redis.conf:      65.4% -- replaced with redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -d redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -1 redis.conf  -v
redis.conf:      59.8% -- replaced with redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip -d redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip# gzip --fast redis.conf  -v
redis.conf:      59.8% -- replaced with redis.conf.gz
root@35d388cf883b:/home/wzm/testgzip#
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值