命令
gzip
描述
compress or expand files
gzip压缩工具
用法
1
| gzip [OPTION]... [FILE]...
|
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Options: -c, --stdout 显示到标准输出 -d, --decompress 解压缩 -f, --force 强制覆盖输出文件 -l, --list 显示压缩包信息 -n, --no-name 不要保存或还原原始名称和时间戳 -N, --name 保存或还原原始名称和时间戳 -q, --quiet 静默模式 -r, --recursive 递归处理子目录,即单独压缩子目录下的每个文件 -S, --suffix=SUF 指定压缩文件后缀 -t, --test 测试压缩文件的完整性 -v, --verbose 显示详情 -1, --fast 快速压缩,最低压缩级别,共分1-9个级别 -9, --best 最高压缩级别,压缩速度较慢,压缩后的文件较小
|
注意
注意gzip压缩后会删除原文件
gzip -r
支持批量压缩目录下的文件,可用于批量压缩日志文件,gunzip -r
批量解压缩
如果单独使用gzip或gunzip命令,建议增加-N选项,避免更改原有文件名和时间戳
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| $ gzip -V gzip 1.5
$ ls a1 a2 a.tar.gz b1 b2 b.tar.gz
$ gzip a1 a2 $ ls a1.gz a2.gz a.tar.gz b1 b2 b.tar.gz
$ gzip -d a1.gz a2.gz $ gunzip a1.gz a2.gz $ ls a1 a2 a.tar.gz b1 b2 b.tar.gz
$ gzip -l a2.gz compressed uncompressed ratio uncompressed_name 27 4 -50.0% a2 $ gzip -l a.tar.gz compressed uncompressed ratio uncompressed_name 135 10240 98.9% a.tar
$ cp a2.gz a3.gz $ gzip -l a2.gz a3.gz compressed uncompressed ratio uncompressed_name 27 4 -50.0% a2 27 4 -50.0% a3 $ gzip -dn a3.gz $ ls a1 a2.gz a3 a.tar.gz b1 b2 b.tar.gz $ rm a3 rm: remove regular file ‘a3’? y $ cp a2.gz a3.gz $ gzip -dN a3.gz $ ls a1 a2 a2.gz a.tar.gz b1 b2 b.tar.gz
$ ll dir1/ total 8 -rw-r--r-- 1 root root 3 Oct 20 21:15 b1 -rw-r--r-- 1 root root 4 Oct 20 21:16 b2 drwxr-xr-x 2 root root 26 Oct 20 21:35 d1/ $ ll dir1/d1 total 8 -rw-r--r-- 1 root root 3 Oct 20 21:15 a1 -rw-r--r-- 1 root root 4 Oct 20 21:15 a2
$ gzip dir1/ gzip: dir1/ is a directory -- ignored $ ll dir1/ total 8 -rw-r--r-- 1 root root 3 Oct 20 21:15 b1 -rw-r--r-- 1 root root 4 Oct 20 21:16 b2 drwxr-xr-x 2 root root 26 Oct 20 21:35 d1/
$ gzip -r dir1/ $ ll dir1/ total 8 -rw-r--r-- 1 root root 26 Oct 20 21:15 b1.gz -rw-r--r-- 1 root root 27 Oct 20 21:16 b2.gz drwxr-xr-x 2 root root 32 Oct 20 21:37 d1/ $ ll dir1/d1/ total 8 -rw-r--r-- 1 root root 26 Oct 20 21:15 a1.gz -rw-r--r-- 1 root root 27 Oct 20 21:15 a2.gz
$ gunzip -r dir1/
$ gzip a1 $ gzip -S -$(date +%F-%j).gz a2 $ ls a1.gz a2-2021-10-20-293.gz $ gunzip -N a2-2021-10-20-293.gz $ ls a1.gz a2
|