压缩:gzip/gunzip、bzip2/bunzip2、xz/unxz
归档:tar
归档+压缩:zip
1. gzip, gunzip, zcat - compress or expand files
gzip:压缩(压缩后会删除原文件)
gunzip:解压缩(解压缩后会删除原压缩文件)
zcat:直接查看压缩后的文本文件内容(建议不要查看大文件)
说明:
gzip、gunzip均可以同时操作多个文件
;
gzip、gunzip压缩/解压缩文件支持通配符
;
gzip、gunzip不能操作目录。
SYNOPSIS
gzip [OPTIONS] <file ...>
OPTIONS
-d --decompress --uncompress
Decompress(解压缩).
gzip -d <file> 相当于gunzip <file>
-# --fast --best
指定压缩比(默认压缩比为6,建议无特殊需求不要改变默认压缩比)
-c --stdout --to-stdout
将压缩结果输出至标准输出
gzip <file> 相当于 gzip -c <file> > <file.gz>(输出重定向)
EXAMPLES
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]# gzip sentinel.log
[root@VM_0_171_centos tmp]# ls -lh
总用量 4.0K
-rw-r--r-- 1 root root 1.4K 4月 4 23:43 sentinel.log.gz
[root@VM_0_171_centos tmp]# gzip -d sentinel.log.gz
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]#
2. bzip2/bunzip2/bzcat
bzip2:压缩(压缩后会删除原文件)
bunzip2:解压缩(解压缩后会删除原压缩文件)
bzcat:直接查看压缩后的文本文件内容(建议不要查看大文件)
SYNOPSIS
bzip2 [OPTIONS] <file ...>
** OPTIONS**
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:keep,保留原文件;
** EXAMPLES**
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]# bzip2 sentinel.log
[root@VM_0_171_centos tmp]# ls -lh
总用量 4.0K
-rw-r--r-- 1 root root 1.5K 4月 4 23:43 sentinel.log.bz2
[root@VM_0_171_centos tmp]# bzip2 -d sentinel.log.bz2
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]# bzip2 -k sentinel.log
[root@VM_0_171_centos tmp]# ls -lh
总用量 20K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
-rw-r--r-- 1 root root 1.5K 4月 4 23:43 sentinel.log.bz2
[root@VM_0_171_centos tmp]#
3. xz/unxz/xzcat
用法与bzip2基本相同,但这种格式不是很常见
SYNOPSIS
xz [option]... [file]...
** OPTIONS**
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:keep,保留原文件;
** EXAMPLES**
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]# xz sentinel.log
[root@VM_0_171_centos tmp]# ls -lh
总用量 4.0K
-rw-r--r-- 1 root root 1.3K 4月 4 23:43 sentinel.log.xz
[root@VM_0_171_centos tmp]# xz -d sentinel.log.xz
[root@VM_0_171_centos tmp]# ls -lh
总用量 16K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
[root@VM_0_171_centos tmp]# xz -k sentinel.log
[root@VM_0_171_centos tmp]# ls -lh
总用量 20K
-rw-r--r-- 1 root root 13K 4月 4 23:43 sentinel.log
-rw-r--r-- 1 root root 1.3K 4月 4 23:43 sentinel.log.xz
[root@VM_0_171_centos tmp]#
4. tar - manual page for tar 1.26
归档文件或目录
SYNOPSIS
tar [OPTION...] [FILE]...
OPTIONS
#创建归档(v选项用于显示执行过程)
tar -cvf /PATH/TO/file.tar <file ...>
#创建归档并压缩成.gz格式
tar -zcvf /PATH/TO/file.tar <file ...>
#创建归档并压缩成.bz2格式
tar -jcvf /PATH/TO/file.tar <file ...>
#展开归档
tar -xvf <file ...> [-C <展开至目标目录>]
#解压并展开归档(.gz)
tar -zxvf <file ...> [-C <展开至目标目录>]
#解压并展开归档(.bz2)
tar -jxvf <file ...> [-C <展开至目标目录>]
#查看归档文件的文件列表
tar -tf <file>
EXAMPLES
下载nginx-1.10.3.tar.gz,解压,再压缩成.bz2格式
[root@VM_0_171_centos tmp]# ls
sentinel.log sentinel.log.xz
[root@VM_0_171_centos tmp]# wget http://nginx.org/download/nginx-1.10.3.tar.gz
--2017-04-11 22:44:56-- http://nginx.org/download/nginx-1.10.3.tar.gz
正在解析主机 nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2606:7100:1:69::3f, ...
正在连接 nginx.org (nginx.org)|206.251.255.63|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:911509 (890K) [application/octet-stream]
正在保存至: “nginx-1.10.3.tar.gz”
100%[=========================================================>] 911,509 445KB/s 用时 2.0s
2017-04-11 22:44:59 (445 KB/s) - 已保存 “nginx-1.10.3.tar.gz” [911509/911509])
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3.tar.gz sentinel.log sentinel.log.xz
[root@VM_0_171_centos tmp]# tar -jcf nginx-1.10.3.tar.bz2 nginx-1.10.3
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3 nginx-1.10.3.tar.bz2 nginx-1.10.3.tar.gz sentinel.log sentinel.log.xz
[root@VM_0_171_centos tmp]#
5.zip - package and compress (archive) files
最通用的压缩、打包工具
用法
zip file.zip <file ...>
unzip -d <解压目录> <file>
EXAMPLES
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3 sentinel.log sentinel.log.xz
[root@VM_0_171_centos tmp]# zip nginx-1.10.3.zip nginx-1.10.3/
adding: nginx-1.10.3/ (stored 0%)
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3 nginx-1.10.3.zip sentinel.log sentinel.log.xz
[root@VM_0_171_centos tmp]# zip test.zip nginx-1.10.3 sentinel.log
adding: nginx-1.10.3/ (stored 0%)
adding: sentinel.log (deflated 89%)
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3 nginx-1.10.3.zip sentinel.log sentinel.log.xz test.zip
[root@VM_0_171_centos tmp]# unzip -d ./test/ test.zip
Archive: test.zip
creating: ./test/nginx-1.10.3/
inflating: ./test/sentinel.log
[root@VM_0_171_centos tmp]# ls
nginx-1.10.3 nginx-1.10.3.zip sentinel.log sentinel.log.xz test test.zip
[root@VM_0_171_centos tmp]#