gzip/gunzip 指令 ( .gz  不能压缩目录)

gzip 用于压缩文件, gunzip 用于解压的 。

gzip

gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率

没有的话手动安装


  1. yum -y install zip gzip (--安装压缩工具)

常用选项 


  1. -c:-stdout在标准输出上写入,保持原始文件不变
  2. -r:递归处理,将指定目录下的所有文件及子目录一并处理;
  3. -v:显示指令执行过程;
  4. -d:解开压缩文件;(decompression 解压)
  5. -a:使用ASCII文字模式;
  6. -f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
  7. -h:在线帮助;
  8. -l:列出压缩文件的相关信息;
  9. -L:显示版本与版权信息;
  10. -n:压缩文件时,不保存原来的文件名称及时间戳记;
  11. -N:压缩文件时,保存原来的文件名称及时间戳记;
  12. -q:不显示警告信息;
  13. -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
  14. -t:测试压缩文件是否正确无误;
  15. -V:显示版本信息;
  16. -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
  17. --best:此参数的效果和指定“-9”参数相同;
  18. --fast:此参数的效果和指定“-1”参数相同。

基本语法      


  1. gzip 文件     (功能描述:压缩文件,只能将文件压缩为 *.gz 文件)      

应用实例  

压缩到指定目录 (需要加上参数 -c)

案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩            gzip /home/hello.txt

案例2: gzip压缩, 将 /home下的 a.txt、b.txt、c.txt  文件进行压缩

案例3:  把test目录下的每个文件压缩成 .gz 文件。 gzip  *

案例4:  把案例4中每个压缩的文件解压,并列出详细的信息。 gzip -dv *

案例5:  详细显示案例3中每个压缩的文件的信息,并不解压。gzip -l *

案例6:  压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz。gzip -r log.tar

案例7:  递归的压缩目录。gzip -rv test

这样,所有test下面的文件都变成了*.gz目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。

案例9: 递归地解压目录。gzip -dr test

案例10:  为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向 ,这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样  。

压缩到指定目录: /home有两个目录 aaa bbb  aaa里面有文件a.txt,我把a.txt压缩到bbb目录里面。

gzip -c aaa/a.txt > bbb/test.gz

把上面压缩的 test.gz  解压到指定 hehe 目录   gunzip -c bbb/test.gz > hehe/test.txt

如果是放在当前目录的话: gunzip -c bbb/test.gz > ./test.txt

细节说明

当我们使用gzip对文件进行压缩后,保留原来的文件

gunzip

gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为 .gz 。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。( gzip –d等价于gunzip 命令)

基本语法      


  1. gunzip 文件.gz    (功能描述:解压缩文件命令)

常用选项


  1. -a:使用ASCII文字模式;
  2. -c:把解压后的文件输出到标准输出设备;
  3. -f:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
  4. -h:在线帮助;
  5. -l:列出压缩文件的相关信息;
  6. -L:显示版本与版权信息;
  7. -n:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理;
  8. -N:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上;
  9. -q:不显示警告信息;
  10. -r:递归处理,将指定目录下的所有文件及子目录一并处理;
  11. -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
  12. -t:测试压缩文件是否正确无误;
  13. -v:显示指令执行过程;
  14. -V:显示版本信息;

 应用实例

案例1: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩     gunzip hello.txt.gz


zip/unzip指令 .zip

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的 。

zip

zip 是我们最常用的压缩命令,通过该命令可以将目录或者文件压缩成扩展名为“ .zip ”的压缩文件。

常用选项


  1. -r 递归处理,将指定目录下的所有文件和子目录进行压缩。
  2. -f 仅将源目录下的发生变更的文件压缩到zip文件中,源目录下新增的文件不进行压缩。
  3. -u 与-f参数类似,但是除了更新的文件外,也会将源目录中的其它文件压缩到zip文件中。
  4. -m 将文件压缩到zip文件中,同时删除目录下的该文件。
  5. -j 只保存文件名称及其内容,丢弃目录结构。
  6. -l 压缩文件时,将 LF 字符置换成 LF+CR 字符。
  7. -ll 压缩文件时,将 CR + LF 字符置换成 LF 字符。
  8. -1 压缩效率,值为1-9,1为压缩效率最高。
  9. -9 压缩效率,值为1-9,1为压缩效率最高。
  10. -v 显示指令执行过程、显示版本信息。
  11. -c 为每个被压缩的文件增加注释。
  12. -z zip文件增加注释。
  13. -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  14. -x 不压缩 -x 指定的文件。
  15. -i 只压缩 -i 指定的文件。
  16. -D 压缩文件内不建立目录。
  17. -A 调整可执行的自动解压缩文件。
  18. -J 删除压缩文件前面不必要的数据。
  19. -X 不保存额外的文件属性。
  20. -y 直接保存符号连接,而非该连接所指向的文件。
  21. -e 采用标准的PKZip 2.0进行加密,提示输入密码。
  22. -n 不压缩文件名以制定字符串结尾的文件。
  23. -h2 显示详细的帮助信息。

基本语法


  1. zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]  
  2. zip      [选项] XXX.zip  需要压缩的内容(功能描述:压缩文件和目录的命令)

应用实例      

案例1:  将 /home下的 所有文件进行压缩成 mypackage.zip    zip  -r  mypackage.zip  /home/   或者   zip  -r  mypackage.zip  /home/*        

案例2:  指定压缩目录    /home 有如下目录。 zip -r aaa/test.zip bbb/

unzip

通过 unzip 命令将扩展名为“ .zip ”的压缩文件进行解压缩。

基本语法


  1. unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  2. unzip [选项] XXX.zip    (功能描述:解压缩文件)

常用选项    


  1. -d 指定文件解压缩后所要存储的目录。
  2. -p 小写,将解压缩的文件数据以二进制格式(存储的格式)输出到屏幕上。
  3. -P 大写,使用 unzip 的密码选项。
  4. -l 显示压缩文件内所包含的文件。
  5. -t 测试压缩文件。
  6. -u 与-f参数类似,但是除了更新的文件外,也会将zip文件中的其它文件解压缩到目录中。
  7. -z 显示压缩文件的注释。
  8. -T zip 文件中的最新的文件时间设置为zip文件的timestamp
  9. -x 不解压 -x 指定的文件。
  10. -q 设置为 quiet 模式。
  11. -qq 设置为 quieter 模式。
  12. -o 不必先询问用户,直接覆盖原有文件。
  13. -a 将文本文件格式转换为本地操作系统的格式。
  14. -aa 将所有的文件作为文本文件来对待。
  15. -U 启用Unicode,显示以十六进制的 #Uxxxx 或者 #Lxxxxxx 进行 ASCII 文本转义的非本地字符。旧版本中 -U 将压缩文件中的全部文件名改为大写。
  16. -UU 启用Unicode,禁用使用UTF-8存储路径。UTF-8路径被处理成 Unicode 后,存储为本地路径。
  17. -L 将压缩文件中的全部文件名改为小写。
  18. -X 解压缩时恢复文件原来的UID/GID
  19. -V 保留VMS的文件版本信息。
  20. -M 将输出结果送到 more 管道中。
  21. -hh 显示详细的帮助信息。

应用实例      

案例2:  将 mypackge.zip 解压到 /opt/tmp 目录下      unzip –d /opt/tmp  mypackage.zip   [如果/opt/tmp 不存在,会自动创建]


tar 指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。 [可以压缩,和解压]

基本语法


  1. tar  [选项]  XXX.tar.gz  打包的内容/目录   (功能描述:打包目录,压缩后的文件格式.tar.gz)  

选项说明  

选项 功能
-c 产生 .tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩 (压缩带上)
-x 解包 .tar 文件 (解压带上)

  1. -c: 建立压缩档案
  2. -x:解压
  3. -t:查看内容
  4. -r:向压缩归档文件末尾追加文件
  5. -u:更新原压缩包中的文件
  6. 以上五个是独立的命令参数,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
  7. -z:有gzip属性的 gz
  8. -j:有bz2属性的 bz2
  9. -J :有xz属性的 xz
  10. -Z:有compress属性的
  11. -v:显示所有过程
  12. -O:将文件解开到标准输出
  13. 下面的参数-f是必须的
  14. -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

应用实例

案例1:   将所有 .jpg 的文件打成一个名为all.tar的包。  tar -cf all.tar  *.jpg  -c 是表示产生新的包,-f 指定包的文件名。



案例2:   将所有 .gif 的文件增加到all.tar的包里面去, tar -rf all.tar *.gif  -r是表示增加文件的意思。 (这样解压的话是没有任何目录的)

tar -rf all.tar  /home/photo/*.gif   这样的话是有目录的

案例3:   列出all.tar包中所有文件,  tar -tf all.tar    -t是列出文件的意思

案例3:   更新原来tar包 all.tar 中a.gif文件    tar -uf all.tar a.gif    -u是表示更新文件的意思。

案例4:   解出all.tar包中所有文件, tar -xf all.tar   -x是解开的意思

案例5:  将目录里所有jpg文件打包成 tar.jpg 。tar -cvf jpg.tar *.jpg

案例6:  将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz 。

tar -czf jpg.tar.gz *.jpg

案例7:  将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2。

tar -cjf jpg.tar.bz2 *.jpg

案例8:  将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z。tar -cZf jpg.tar.Z *.jpg

案例9:  rar格式的压缩,需要先下载rar for linux。rar a jpg.rar *.jpg

案例10:  zip格式的压缩,需要先下载zip for linux。zip jpg.zip *.jpg

tar -xvf file.tar                    //解压 tar包

tar -xzvf file.tar.gz             //解压tar.gz

tar -xjvf file.tar.bz2            //解压 tar.bz2

tar -xZvf file.tar.Z              //解压tar.Z

tar -Jxvf fle.tar.xz              //解压tar.xz

unrar e file.rar                   //解压rar

unzip file.zip                      //解压zip

案例11:  压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成  a.tar.gz     tar -zcvf a.tar.gz a1.txt a2.txt

案例12:  将/home 所有的文件夹压缩成 myhome.tar.gz    tar -zcvf myhome.tar.gz  /home/ 

案例13:   将 a.tar.gz  解压到当前目录       tar -zxvf a.tar.gz  

案例14: 将myhome.tar.gz  解压到 /opt/tmp2目录下   tar -zxvf myhome.tar.gz -C  /opt/temp2 (temp2 需要手动创建)

细节:

指定解压到的那个目录,事先要存在才能成功,否则会报错。

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压   tar.xz  用 tar -Jxvf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

来源:https://blog.csdn.net/qq_40794973/article/details/86499246

Linux里面的压缩和解压类指令的更多相关文章

  1. Linux 时间日期类、搜索查找类、 压缩和解压类指令

    l 时间日期类 date指令-显示当前日期 基本语法 1) date (功能描述:显示当前时间) 2) date +%Y (功能描述:显示当前年份) 3) date +%m (功能描述:显示当前月份) ...

  2. linux学习之路第七天(压缩和解压类指令详解)

    压缩和解压类 1.gzip/gunzip 指令 gzip 指令用于压缩文件, gunzip用于解压的 基本语法 gzip 文件 (功能描述:压缩文件,指令将文件压缩成*.gz文件) gunzip 文件 ...

  3. Linux压缩和解压类指令

    一.gzip / gunzip  指令 gzip 用于压缩文件,gunzip 用于解压文件. 基本语法gizp  文件 (功能描述:只能将文件压缩为*.gz文件)gunzip  文件.gz (功能描述 ...

  4. linux 实用指令压缩和解压类

    linux 实用指令压缩和解压类 目录 linux 实用指令压缩和解压类 gzip/gunzip指令(不常用) zip/unzip指令 tar指令(常用) gzip/gunzip指令(不常用) 说明 ...

  5. Linux时间日期类,压缩和解压类

    一.时间日期类 1.data指令 1.基本指令 date 显示当前日期 data +%Y 显示当前年份 data +%m 显示当前月份 data +%d 显示当前天 data +%Y-%m-%d %H ...

  6. Linux压缩和解压类

    gzip/gunzip gzip 文件:压缩文件为.gz gunzip 文件:解压文件 注: 1. 只能压缩和解压文件 2. 只是将hello.txt压缩成hello.txt.gz,并没有改变存储位置 ...

  7. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

  8. 【Linux基础】压缩和解压

    Linux 常用的压缩与解压文件类型:.tar,.gz..tar.gz,.bz2..tar.bz2,.Z..tar.Z,.zip,.rar等. Linux 常用的压缩与解压缩命令有:tar,gzip. ...

  9. Linux指令(压缩和解压类)

    gzip/gunzip 指令 gzip用于压缩文件,gunzip用于解压基本语法: gzip文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip文件.gz (功能描述:解压缩文件命 ...

随机推荐

  1. Object中toString方法

    在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法将对象打印出来.如果 ...

  2. Appium框架

    1.通过TestNG单元测试框架管理/执行测试用例 2.TestNG参数化,App启动的四个配置存到Testng.xml中 3.通过page object (PO)设计模式,测试用例和页面元素分离,页 ...

  3. JavaScript面向对象的学习

    1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2面向对象 面向对象是把事务分解成为一个 ...

  4. vue中页面卡顿,使用懒加载

    为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 常用的懒加载方式有两种:即使用vue异步组件 和 ES中的imp ...

  5. MSP430-LED中断闪烁代码详解

    使用MSP430F149的开发板,首先对LED闪烁灯的例程进行讲解,然后下边是自己写的,将部分代码写入了新建的led.c程序中 #include  <msp430x14x.h>       ...

  6. Android开发之获取APP的应用程序名称以及版本名称信息java工具类

    //跟App相关的辅助类 public class AppUtils { private AppUtils() { /* cannot be instantiated */ throw new Uns ...

  7. Linux下命令设置别名--alias(同实用于mac)

    最近在搞appium自动化脚本编写,过程中经常会使用 uiautomatorviewer这个工具查看UI布局和元素,但是不得不说这个单词太长了.. 如何快速使用,有三个小技巧,分别是: 1.设置好改工 ...

  8. python3之print()函数

    print语法格式 print()函数具有丰富的功能,详细语法格式如下: print(value, -, sep=' ', end='\n', file=sys.stdout, flush=False ...

  9. java之多态浅谈

    多态是同一个行为具有多个不同表现形式或形态的能力. 父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为 多态现实意义理解: 现实事物经常会体现出多种形态,如学生,学生是人的 ...

  10. 转贴:修改springboot控制台输出的图案

    Post from:https://blog.csdn.net/WXN069/article/details/90667668 修改springboot控制台输出的图案1.在src\main\reso ...