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

 

posted @ 2020-12-10 16:58  coocoo  阅读(241)  评论(0编辑  收藏  举报