5 压缩、解压缩及归档工具
5 压缩、解压缩及归档工具
目录
1 常见的压缩工具有:
- compres/uncompress:.Z
- gzip/gunzip/zcat:.gz
- bzip2/bunzip2/bzcat:.bz2
- xz/unxz/xzcat:.xz
- zip/unzip/:.zip
- tar,cpio
2 gzip/gunzip/zcat
使用格式:gzip [OPTION]... FILE...
常用选项:
- -d:解压缩
- -#:1-9,指定压缩比
- -c:将结果输出至标准输出
- 压缩后保留源文件:
gzip -c FILES > FILES.gz
- 压缩后保留源文件:
zcat:不显示展开的前提下查看文本文件的内容
范例:
压缩:
[root@localhost gz]# gzip fstab
[root@localhost gz]# ls
fstab.gz rc.sysinit
解压缩:
[root@localhost gz]# gzip -d fstab.gz
[root@localhost gz]# ls
fstab rc.sysinit
将压缩结果输出至标准输出:
[root@localhost gz]# gzip -c fstab # 原文件不会被压缩成fstab.gz
???_fstab??Kn? @?>?H]$?b???HYT???n?̐X `I??;?&?Rk????a9yH??o?t??px??<
?`??F
压缩后保留原文件:
[root@localhost gz]# gzip -c fstab > fstab.gz
[root@localhost gz]# ls
fstab fstab.gz rc.sysinit
不展开的情况下使用zcat查看压缩文件中原文件内容:
[root@localhost gz]# zcat fstab.gz
#
# /etc/fstab
# Created by anaconda on Thu Nov 26 21:54:33 2020
gunzip解压缩:
[root@localhost gz]# gunzip fstab.gz
[root@localhost gz]# ls
fstab rc.sysinit
多个文件分别压缩
[root@localhost gz]# gzip fstab rc.sysinit
[root@localhost gz]# ls
fstab.gz rc.sysinit.gz
查看压缩文件详情
[root@localhost gz]# gzip -l fstab.gz
compressed uncompressed ratio uncompressed_name
391 863 58.4% fstab
对多个gzip文件分别解压缩
[root@localhost gz]# gzip -d fstab.gz rc.sysinit.gz
[root@localhost gz]# ls
fstab rc.sysinit
3 bzip2/bunzip/bzcat
使用格式:bizp2 [OPTION]... FILE...
-
-d:解压缩
-
-k:压缩后保持原文件
-
-#:1-9,指定压缩比
bzcat:不展开的前提下查看文本文件内容
范例:
压缩
[root@localhost gz]# bzip2 fstab
[root@localhost gz]# ls
fstab.bz2 rc.sysinit
解压缩
[root@localhost gz]# bzip2 -d fstab.bz2
[root@localhost gz]# ls
fstab rc.sysinit
压缩后保留原文件
[root@localhost gz]# bzip2 -k fstab
[root@localhost gz]# ls
fstab fstab.bz2 rc.sysinit
分别压缩多个文件
[root@localhost gz]# bzip2 fstab rc.sysinit
[root@localhost gz]# ls
fstab.bz2 rc.sysinit.bz2
分别解压缩多个文件
[root@localhost gz]# bunzip2 -d fstab.bz2 rc.sysinit.bz2
[root@localhost gz]# ls
fstab rc.sysinit
不展开的情况下查看文本文件内容
[root@localhost gz]# bzcat fstab.bz2
4 xz/unxz/xzcat
使用格式:xz [OPTION]... FILE...
常用选项:
-
-k:压缩后保留原文件
-
-d:解压缩
-
-#:1-9,指定压缩百分比
xzcat:不展开的情况下查看文本文件内容
范例:
压缩
[root@localhost gz]# xz fstab
[root@localhost gz]# ls
fstab.xz rc.sysinit
解压缩
[root@localhost gz]# unxz fstab.xz
[root@localhost gz]# ls
fstab rc.sysinit
分别对多个文件进行压缩
[root@localhost gz]# xz fstab rc.sysinit
[root@localhost gz]# ls
fstab.xz rc.sysinit.xz
分别对多个压缩文件进行解压缩
[root@localhost gz]# xz -d fstab.xz rc.sysinit.xz
[root@localhost gz]# ls
fstab rc.sysinit
压缩后保留原文件
[root@localhost gz]# xz -k fstab
[root@localhost gz]# ls
fstab fstab.xz rc.sysinit
不展开的前提下查看文本文件内容
[root@localhost gz]# xzcat fstab.xz
5 zip/unzip/zcat
使用格式:zip [OPTION] FILE.zip FILE...
- -d:不解压的情况下删除里面的文件
- -o:不提示的情况下覆盖文件
- -#:1-9,指定压缩百分比
zcat:不展开的情况下查看文本文件内容
范例:
压缩: zip压缩会保留原文件
[root@localhost gz]# zip fzip.zip fstab rc.sysinit
adding: fstab (deflated 57%)
adding: rc.sysinit (deflated 67%)
[root@localhost gz]# ls
fstab fzip.zip rc.sysinit
不解压的情况下删除压缩文件中的文件
[root@localhost gz]# zip fzip.zip -d fstab
deleting: fstab
更新压缩文件增加文件fstab
[root@localhost gz]# zip fzip.zip add fstab
zip warning: name not matched: add
adding: fstab (deflated 57%)
解压缩
[root@localhost gz]# unzip fzip.zip
Archive: fzip.zip
inflating: rc.sysinit
inflating: fstab
[root@localhost gz]# ls
fstab fzip.zip rc.sysinit
不解压缩的情况下查看文本文件内容:查看到的是所有文件的内容
[root@localhost gz]# zcat fzip.zip
6 tar
使用格式:tar [OPTION]... FILE.tar FILE1 FILE2...
- -c:创建归档
- -x:展开归档
- -t:列出归档文件中的文件列表
- --delete:从归档文件中删除文件
- -r:将文件添加到归档文件的末尾
- -f:归档文件路径
- -C:将展开的文件保存至指定目录下
结合压缩工具,实现归档并压缩
-z:gzip,-j:bzip2,-J:xz,-Z:compress
范例:
创建归档
[root@localhost gz]# tar -c -f a.tar fstab rc.sysinit
[root@localhost gz]# ls
a.tar fstab rc.sysinit
解档
[root@localhost gz]# tar -xf a.tar
[root@localhost gz]# ls
a.tar fstab rc.sysinit
不展开的情况下查看文件列表
[root@localhost gz]# tar -t -f a.tar
fstab
rc.sysinit
展开归档,将文件展开到指定目录
[root@localhost gz]# tar -xf a.tar -C /tmp/gz/b/
[root@localhost gz]# ls b
fstab rc.sysinit
不展开的情况下删除归档中文件
[root@localhost gz]# tar -f a.tar --delete rc.sysinit
[root@localhost gz]# tar -tf a.tar
fstab
不展开的情况下,添加文件到归档
[root@localhost gz]# tar -f a.tar -r b
[root@localhost gz]# tar -tf a.tar
fstab
b/
b/fstab
b/rc.sysinit
归档并压缩成.gz格式的文件
[root@localhost b]# tar -zcf b.tar.gz fstab rc.sysinit
[root@localhost b]# ls
b.tar.gz fstab rc.sysinit
解压缩并展开归档到gz目录
[root@localhost b]# tar -zxf b.tar.gz -C gz
[root@localhost b]# ls gz/
fstab rc.sysinit
归档并压缩成bzip2格式的文件
[root@localhost b]# tar -jcf bb.tar.bz2 fstab rc.sysinit
[root@localhost b]# ls
bb.tar.bz2
解压并展开归档
[root@localhost b]# tar -jxf bb.tar.bz2 -C bz
[root@localhost b]# ls bz
fstab rc.sysinit
创建归档并压缩成xz格式
[root@localhost b]# tar -Jcf xz.tar.xz fstab rc.sysinit
[root@localhost b]# ls
xz.tar.xz xz
解压缩并展开归档到xz文件中
[root@localhost b]# tar -Jxf xz.tar.xz -C xz
[root@localhost b]# ls xz
fstab rc.sysinit