linux 命令 gzip和gunzip 解压缩

老子叫甜甜 提交于 2019-11-30 21:12:24

     gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

     gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。

语法:gzip [选项] [参数]

    基本参数:

-a或——ascii:使用ASCII文字模式; 

-d或--decompress或----uncompress:解开压缩文件; 

-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接; 

-h或——help:在线帮助; 

-l或——list:列出压缩文件的相关信息; 

-L或——license:显示版本与版权信息; 

-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记; 

-N或——name:压缩文件时,保存原来的文件名称及时间戳记; 

-q或——quiet:不显示警告信息; 

-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; 

-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串; 

-t或——test:测试压缩文件是否正确无误; 

-v或——verbose:显示指令执行过程; 

-V或——version:显示版本信息; 

-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高; 

--best:此参数的效果和指定“-9”参数相同; 

--fast:此参数的效果和指定“-1”参数相同。

gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。

    事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成.

语法:gunzip [选项] [参数]

基本参数:

-a或——ascii:使用ASCII文字模式; 

-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备; 

-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;

 -h或——help:在线帮助; 

-l或——list:列出压缩文件的相关信息; 

-L或——license:显示版本与版权信息; 

-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理; 

-N或——name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上; 

-q或——quiet:不显示警告信息; 

-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; 

-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串; 

-t或——test:测试压缩文件是否正确无误; 

-v或——verbose:显示指令执行过程; 

-V或——version:显示版本信息;

实例:

root@debian:/tmp# ls
pulse-nyTPvNf0U02p  sw.log  sw.log.tar.gz  swmannagement
root@debian:/tmp# gzip -9v sw.log 
sw.log:	 93.0% -- replaced with sw.log.gz
root@debian:/tmp# ls
pulse-nyTPvNf0U02p  sw.log.gz  sw.log.tar.gz  swmannagement
root@debian:/tmp# gzip -l sw.log.gz 
         compressed        uncompressed  ratio uncompressed_name
               6465               92160  93.0% sw.log
root@debian:/tmp# gzip -d sw.log.gz 
root@debian:/tmp# ls
pulse-nyTPvNf0U02p  sw.log  sw.log.tar.gz  swmannagement
root@debian:/tmp# gzip -rv swmannagement/
root@debian:/tmp# ls
pulse-nyTPvNf0U02p  sw.log  sw.log.tar.gz  swmannagement
root@debian:/tmp# cd swmannagement/
root@debian:/tmp/swmannagement# ls
cisco2960  Connect_Remote_SW.py.save.gz   innerswip.gz    PingDetected.py.gz    SaveIp-to-database.py.gz   tmp.gz   Connect_Remote_SW.py.gz   inner_sw   iplist.gz    rebootRemoteHost.py.gz   switchOrrouter_list.gz
root@debian:/tmp/swmannagement# cd ..
root@debian:/tmp# gzip -dr swmannagement/
root@debian:/tmp# cd swmannagement/
root@debian:/tmp/swmannagement# ls
cisco2960  Connect_Remote_SW.py  Connect_Remote_SW.py.save  inner_sw  innerswip  iplist  PingDetected.py  rebootRemoteHost.py  SaveIp-to-database.py  switchOrrouter_list  tmp



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!