Linux里面的压缩和解压类指令
gzip/gunzip 指令 ( .gz 不能压缩目录)
gzip 用于压缩文件, gunzip 用于解压的 。
gzip
gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。
没有的话手动安装
yum -y install zip gzip (--安装压缩工具)
常用选项
-c:-stdout在标准输出上写入,保持原始文件不变
-r:递归处理,将指定目录下的所有文件及子目录一并处理;
-v:显示指令执行过程;
-d:解开压缩文件;(decompression 解压)
-a:使用ASCII文字模式;
-f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h:在线帮助;
-l:列出压缩文件的相关信息;
-L:显示版本与版权信息;
-n:压缩文件时,不保存原来的文件名称及时间戳记;
-N:压缩文件时,保存原来的文件名称及时间戳记;
-q:不显示警告信息;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t:测试压缩文件是否正确无误;
-V:显示版本信息;
-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
--best:此参数的效果和指定“-9”参数相同;
--fast:此参数的效果和指定“-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 命令)
基本语法
gunzip 文件.gz (功能描述:解压缩文件命令)
常用选项
-a:使用ASCII文字模式;
-c:把解压后的文件输出到标准输出设备;
-f:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-h:在线帮助;
-l:列出压缩文件的相关信息;
-L:显示版本与版权信息;
-n:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理;
-N:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上;
-q:不显示警告信息;
-r:递归处理,将指定目录下的所有文件及子目录一并处理;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
-t:测试压缩文件是否正确无误;
-v:显示指令执行过程;
-V:显示版本信息;
应用实例
案例1: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩 gunzip hello.txt.gz
zip/unzip指令 .zip
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的 。
zip
zip 是我们最常用的压缩命令,通过该命令可以将目录或者文件压缩成扩展名为“ .zip ”的压缩文件。
常用选项
-r 递归处理,将指定目录下的所有文件和子目录进行压缩。
-f 仅将源目录下的发生变更的文件压缩到zip文件中,源目录下新增的文件不进行压缩。
-u 与-f参数类似,但是除了更新的文件外,也会将源目录中的其它文件压缩到zip文件中。
-m 将文件压缩到zip文件中,同时删除目录下的该文件。
-j 只保存文件名称及其内容,丢弃目录结构。
-l 压缩文件时,将 LF 字符置换成 LF+CR 字符。
-ll 压缩文件时,将 CR + LF 字符置换成 LF 字符。
-1 压缩效率,值为1-9,1为压缩效率最高。
-9 压缩效率,值为1-9,1为压缩效率最高。
-v 显示指令执行过程、显示版本信息。
-c 为每个被压缩的文件增加注释。
-z 为zip文件增加注释。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-x 不压缩 -x 指定的文件。
-i 只压缩 -i 指定的文件。
-D 压缩文件内不建立目录。
-A 调整可执行的自动解压缩文件。
-J 删除压缩文件前面不必要的数据。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件。
-e 采用标准的PKZip 2.0进行加密,提示输入密码。
-n 不压缩文件名以制定字符串结尾的文件。
-h2 显示详细的帮助信息。
基本语法
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
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 ”的压缩文件进行解压缩。
基本语法
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
unzip [选项] XXX.zip (功能描述:解压缩文件)
常用选项
-d 指定文件解压缩后所要存储的目录。
-p 小写,将解压缩的文件数据以二进制格式(存储的格式)输出到屏幕上。
-P 大写,使用 unzip 的密码选项。
-l 显示压缩文件内所包含的文件。
-t 测试压缩文件。
-u 与-f参数类似,但是除了更新的文件外,也会将zip文件中的其它文件解压缩到目录中。
-z 显示压缩文件的注释。
-T 把 zip 文件中的最新的文件时间设置为zip文件的timestamp。
-x 不解压 -x 指定的文件。
-q 设置为 quiet 模式。
-qq 设置为 quieter 模式。
-o 不必先询问用户,直接覆盖原有文件。
-a 将文本文件格式转换为本地操作系统的格式。
-aa 将所有的文件作为文本文件来对待。
-U 启用Unicode,显示以十六进制的 #Uxxxx 或者 #Lxxxxxx 进行 ASCII 文本转义的非本地字符。旧版本中 -U 将压缩文件中的全部文件名改为大写。
-UU 启用Unicode,禁用使用UTF-8存储路径。UTF-8路径被处理成 Unicode 后,存储为本地路径。
-L 将压缩文件中的全部文件名改为小写。
-X 解压缩时恢复文件原来的UID/GID。
-V 保留VMS的文件版本信息。
-M 将输出结果送到 more 管道中。
-hh 显示详细的帮助信息。
应用实例
案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下 unzip –d /opt/tmp mypackage.zip [如果/opt/tmp 不存在,会自动创建]
tar 指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。 [可以压缩,和解压]
基本语法
tar [选项] XXX.tar.gz 打包的内容/目录 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明
选项 | 功能 |
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 (压缩带上) |
-x | 解包 .tar 文件 (解压带上) |
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
以上五个是独立的命令参数,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的 gz
-j:有bz2属性的 bz2
-J :有xz属性的 xz
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-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里面的压缩和解压类指令的更多相关文章
- Linux 时间日期类、搜索查找类、 压缩和解压类指令
l 时间日期类 date指令-显示当前日期 基本语法 1) date (功能描述:显示当前时间) 2) date +%Y (功能描述:显示当前年份) 3) date +%m (功能描述:显示当前月份) ...
- linux学习之路第七天(压缩和解压类指令详解)
压缩和解压类 1.gzip/gunzip 指令 gzip 指令用于压缩文件, gunzip用于解压的 基本语法 gzip 文件 (功能描述:压缩文件,指令将文件压缩成*.gz文件) gunzip 文件 ...
- Linux压缩和解压类指令
一.gzip / gunzip 指令 gzip 用于压缩文件,gunzip 用于解压文件. 基本语法gizp 文件 (功能描述:只能将文件压缩为*.gz文件)gunzip 文件.gz (功能描述 ...
- linux 实用指令压缩和解压类
linux 实用指令压缩和解压类 目录 linux 实用指令压缩和解压类 gzip/gunzip指令(不常用) zip/unzip指令 tar指令(常用) gzip/gunzip指令(不常用) 说明 ...
- Linux时间日期类,压缩和解压类
一.时间日期类 1.data指令 1.基本指令 date 显示当前日期 data +%Y 显示当前年份 data +%m 显示当前月份 data +%d 显示当前天 data +%Y-%m-%d %H ...
- Linux压缩和解压类
gzip/gunzip gzip 文件:压缩文件为.gz gunzip 文件:解压文件 注: 1. 只能压缩和解压文件 2. 只是将hello.txt压缩成hello.txt.gz,并没有改变存储位置 ...
- Linux下的压缩和解压
1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...
- 【Linux基础】压缩和解压
Linux 常用的压缩与解压文件类型:.tar,.gz..tar.gz,.bz2..tar.bz2,.Z..tar.Z,.zip,.rar等. Linux 常用的压缩与解压缩命令有:tar,gzip. ...
- Linux指令(压缩和解压类)
gzip/gunzip 指令 gzip用于压缩文件,gunzip用于解压基本语法: gzip文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip文件.gz (功能描述:解压缩文件命 ...
随机推荐
- Object中toString方法
在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法将对象打印出来.如果 ...
- Appium框架
1.通过TestNG单元测试框架管理/执行测试用例 2.TestNG参数化,App启动的四个配置存到Testng.xml中 3.通过page object (PO)设计模式,测试用例和页面元素分离,页 ...
- JavaScript面向对象的学习
1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2面向对象 面向对象是把事务分解成为一个 ...
- vue中页面卡顿,使用懒加载
为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 常用的懒加载方式有两种:即使用vue异步组件 和 ES中的imp ...
- MSP430-LED中断闪烁代码详解
使用MSP430F149的开发板,首先对LED闪烁灯的例程进行讲解,然后下边是自己写的,将部分代码写入了新建的led.c程序中 #include <msp430x14x.h> ...
- Android开发之获取APP的应用程序名称以及版本名称信息java工具类
//跟App相关的辅助类 public class AppUtils { private AppUtils() { /* cannot be instantiated */ throw new Uns ...
- Linux下命令设置别名--alias(同实用于mac)
最近在搞appium自动化脚本编写,过程中经常会使用 uiautomatorviewer这个工具查看UI布局和元素,但是不得不说这个单词太长了.. 如何快速使用,有三个小技巧,分别是: 1.设置好改工 ...
- python3之print()函数
print语法格式 print()函数具有丰富的功能,详细语法格式如下: print(value, -, sep=' ', end='\n', file=sys.stdout, flush=False ...
- java之多态浅谈
多态是同一个行为具有多个不同表现形式或形态的能力. 父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为 多态现实意义理解: 现实事物经常会体现出多种形态,如学生,学生是人的 ...
- 转贴:修改springboot控制台输出的图案
Post from:https://blog.csdn.net/WXN069/article/details/90667668 修改springboot控制台输出的图案1.在src\main\reso ...