压缩和解压

归档

将许多零散的文件整理为一个文件(整合分散的数据 )

文件总的大小基本不变(减小占用空间大小 )

压缩

按某种算法减小文件所占用空间的大小,恢复时按对应的逆向算法解压

常见的压缩格式及命令工具:

.gz gzip,gunzip

.bz2  bzip2,bunzip2

.xz xz,unxz

zip

zip命令的功能是压缩文件,解压命令为unzip。通过zip命令可以将文件打包成zip格式的压缩包,里面包含文件的名称、路径、创建时间、上次修改时间等信息(与tar命令相‍似),跨平台(Windows与Linux)。

语法格式

zip    参数 目标文件名.zip 源文件或目录名

zip  [-r]    备份文件.zip      被归档的文档... 

常用参数

-A:自动解压缩文件   

-n:不压缩具有特定字符串的文件

-b:设置暂存文件的目录 

-q:静默执行模式

-c:添加注释信息到压缩文件 

-r:递归处理所有子文件

-d:更新压缩包内文件  

-S:包含系统和隐藏文件

-F:尝试修复损坏的压缩文件 

-t:设置压缩时间为指定日期

-h:显示帮助信息  

-T:检查压缩文件是否正确无误

-i:仅压缩符合条件的文件  

-v:显示执行过程详细信息

-k:使用MS-DOS兼容格式  

-V:保留VMS操作系统的文件属性

-l:将“LF”替换成“LF+CR”字符 

-w:在文件名称中加入版本编号

-L:显示版本信息  

-X:不保留过多的文件属性信息

-m:压缩后删除源文件  

-y:直接保存符号链接,而不是对应文件

参考示例

将指定目录及其包含的全部文件都打包成zip格式的压缩包文件:

[root@linuxcool ~]# ls /usr/bin/zip
[root@linuxcool ~]# zip -r File.zip /etc 
  adding: etc/fstab (deflated 45%) 
  adding: etc/crypttab (stored 0%) 
  adding: etc/resolv.conf (stored 0%) 
  adding: etc/dnf/ (stored 0%) 
  adding: etc/dnf/modules.d/ (stored 0%) 
  adding: etc/dnf/modules.d/container-tools.module (deflated 17%) 
  adding: etc/dnf/modules.d/llvm-toolset.module (deflated 14%) 
………………省略部分输出信息……………… 

将当前工作目录内所有以.cfg为后缀的文件打包:

[root@linuxcool ~]# zip -r File.zip *.cfg 
  adding: anaconda-ks.cfg (deflated 44%) 
  adding: initial-setup-ks.cfg (deflated 44%)

更新压缩包文件中的某个文件:

[root@linuxcool ~]# zip -dv File.zip File.cfg 
  1>1: updating: File.cfg (deflated 44%)

unzip

unzip命令用于解压缩zip格式的文件,虽然Linux系统中更多地使用tar命令对压缩包进行管理操作,但有时也会接收到Windows系统常用的zip和rar格式的压缩包文件,unzip命令便派上了用场。直接使用unzip命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。

语法格式

unzip 参数 压缩包名

unzip    备份文件.zip    [-d  目标文件夹]  

常用参数

-a:对文本进行必要的字符转换    

-L:将压缩包内文件名改为小写

-b:不要对文本进行任何字符转换 

-n:解压缩时不覆盖已有文件

-c:适当转换字符后输出解压缩结果  

-P:使用密码加密

-C:严格区分大小写 

-q:静默执行模式

-d:解压缩文件到指定目录中 

-t:检查压缩包完整性

-f:强制覆盖已有文件  

-v:显示执行过程详细信息

-j:不处理压缩文件中原有的目录路径 

-x:跳过压缩包内的指定文件

-l:显示压缩包内文件列表  

-z:显示压缩包内的备注文字

参考示例

将压缩包文件解压到当前工作目录中:

[root@linuxcool ~]# unzip  -l   File.zip    #查看压缩包的内容
[root@linuxcool ~]# unzip File.zip 
Archive: File.zip 
   creating: wordpress/ 
  inflating: wordpress/xmlrpc.php 
  inflating: wordpress/wp-blog-header.php 
…………省略部分输出信息…………

将压缩包文件解压到指定目录中:

[root@linuxcool ~]# unzip File.zip -d /home 
Archive: File.zip 
    creating: /home/wordpress/ 
inflating: /home/wordpress/xmlrpc.php 
inflating: /home/wordpress/wp-blog-header.php 
…………省略部分输出信息…………

测试压缩包文件是否完整,文件有无损坏:

[root@linuxcool ~]# unzip -t File.zip 
Archive: File.zip 
testing: wordpress/       OK 
testing: wordpress/xmlrpc.php     OK 
…………省略部分输出信息………… 

 

 

posted @ 2024-04-11 23:42  惠恒博  阅读(7)  评论(0编辑  收藏  举报