Linux(Centos 7.6)命令详解:gzip

1.命令作用

压缩或解压缩文件(默认情况下,就地压缩文件)(Compress or uncompress FILEs (by default, compress FILES in-place));默认情况下会将多个文件压缩成多个.gz为后缀的压缩文件,且压缩后源文件会被删除。

2.命令语法

Usage: gzip [OPTION]... [FILE]...

3.参数详解

OPTION:

  • -c, --stdout,默认写入到标准输出,原始文件保持不变不会被删除;可以使用覆盖重定向或者追加重定向压缩成指定的文件里,追加定向压缩会将文件内容重复追加
  • -d, --decompress,解压缩,与gunzip功能相同
  • -f, --force,如果解压后的文件已经存在,则不提示是否覆盖,直接强制覆盖输出文件和压缩链接
  • -l, --list,列出压缩文件基本信息;包括压缩后大小,未压缩大小,压缩比及源文件名称
  • -n, --no-name,压缩文件时,不保存原来的文件名称及时间戳
  • -N, --name,压缩文件时,保存原来的文件名称及时间戳(默认行为)
  • -q, --quiet,抑制所有警告
  • -r, --recursive,对目录进行递归压缩操作,注意不是将整个目录压缩为一个文件,是将目录下所有文件分别进行压缩,-dr可以对应递归解压
  • -S, --suffix=SUF,指定压缩后文件名称的后缀为SUF,对应解压时也需要指定该能解压
  • -t, --test,测试检测压缩文件的完整
  • -v, --verbose,详细模式
  • -V, --version,展示版本号
  • -1, --fast,压缩更快
  • -9, --best,更好的压缩;实质为压缩级别,可设置-1~-9,默认为-6
  • --rsyncable,创建适合rsync的归档

4.常用用例

4.1.默认压缩后删除原文件

## gzip压缩默认会在压缩后删除原文件
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 56 Mar  9 16:19 file1.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# gzip file1.txt 
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 47 Mar  9 16:19 file1.txt.gz
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# 

## gzip压缩多个文件是分别进行压缩,不是将多个文件压缩成一个文件
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 47 Mar  9 16:19 file1.txt.gz
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# gzip file2.txt file3.txt 
[root@node2 Desktop]# 
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 47 Mar  9 16:19 file1.txt.gz
-rw-r--r--. 1 root root 47 Mar  9 16:20 file2.txt.gz
-rw-r--r--. 1 root root 47 Mar  9 16:20 file3.txt.gz
[root@node2 Desktop]# 

4.2.gzip压缩文件的解压(-d,同gunzip)

[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 47 Mar  9 16:19 file1.txt.gz
-rw-r--r--. 1 root root 47 Mar  9 16:20 file2.txt.gz
-rw-r--r--. 1 root root 47 Mar  9 16:20 file3.txt.gz
[root@node2 Desktop]# gzip -d *
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 56 Mar  9 16:19 file1.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# 

4.3.压缩后不删除原文件(-c)

## gzip压缩不删除原文件,需要使用重定向符号>或者>>配合使用
[root@node2 Desktop]# ll
total 12
-rw-r--r--. 1 root root 56 Mar  9 16:19 file1.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# gzip -c file1.txt > file1.txt.gz
[root@node2 Desktop]# ll
total 16
-rw-r--r--. 1 root root 56 Mar  9 16:19 file1.txt
-rw-r--r--. 1 root root 47 Mar  9 16:41 file1.txt.gz
-rw-r--r--. 1 root root 56 Mar  9 16:20 file2.txt
-rw-r--r--. 1 root root 56 Mar  9 16:20 file3.txt
[root@node2 Desktop]# 

4.4.递归压缩(-r)

## -r 递归压缩是将目录下所有的文件分别压缩,并不是将目录下所有内容压缩成一个文件
## -r 递归压缩对应可以使用-dr 进行递归解压
[root@node2 Desktop]# ll
total 0
drwxr-xr-x. 3 root root 69 Mar  9 16:43 dir1
[root@node2 Desktop]# tree dir1/
dir1/
├── dir2
│   ├── file1.txt
│   ├── file2.txt
│   └── file3.txt
├── file1.txt
├── file2.txt
└── file3.txt

1 directory, 6 files
[root@node2 Desktop]# gzip -r dir1/
[root@node2 Desktop]# 
[root@node2 Desktop]# ll
total 0
drwxr-xr-x. 3 root root 78 Mar  9 16:44 dir1
[root@node2 Desktop]# tree dir1/
dir1/
├── dir2
│   ├── file1.txt.gz
│   ├── file2.txt.gz
│   └── file3.txt.gz
├── file1.txt.gz
├── file2.txt.gz
└── file3.txt.gz

1 directory, 6 files
[root@node2 Desktop]# 

4.5.自定义压缩后的文件后缀(-S)

## gzip 压缩默认的压缩文件后缀为.gz,可以使用-S 自定义后缀名称
## -S自定义后缀名称解压时,也需要指定其后缀名称才能解压,否则会报错
[root@node2 Desktop]# ll
total 8
-rw-r--r--. 1 root root 56 Mar  9 16:43 file1.txt
-rw-r--r--. 1 root root 56 Mar  9 16:48 file2.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# gzip file1.txt 
[root@node2 Desktop]# gzip -S .gzip file2.txt 
[root@node2 Desktop]# 
[root@node2 Desktop]# ll
total 8
-rw-r--r--. 1 root root 47 Mar  9 16:43 file1.txt.gz
-rw-r--r--. 1 root root 47 Mar  9 16:48 file2.txt.gzip
[root@node2 Desktop]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值