Linux之文件压缩与解压
文件压缩与解压
1、tar命令
tar命令可以为Linux的文件和目录创建档案。
利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁盘上
创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录打包成一个文件,这对于备份文件或将几个文件组合成一个文件以便于传输是非常有用
的。 首先要弄清楚两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。 区分这两个概念的原因:源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包,然后再用压缩程序进行压缩
(gzip bzip2命令)。 语法
tar(选项)(参数)
选项
-A 新增文件到已存在的备份文件;
-B 设置区块大小
-c 建立新的备份文件
-C <目录> :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d :记录文件的差别
-x :从备份文件中还原文件。
-t :列出备份文件中的内容
-z :通过gzip指令处理备份文件;
-Z :通过compress指令处理备份文件;
-f :指定备份文件;
-v :显示指令执行过程;
-r :添加文件到已经压缩的文件;
-u :添加改变了和现有的文件到已经存在的压缩文件;
-j :支持bzip2解压文件;
-v :显示操作过程;
-l :文件系统边界设置
-k :保留原有文件不覆盖
-m :保留文件不被覆盖
-w :确认压缩文件的正确性
-p :用原来的文件权限还原文件
-N :只将较指定日期更新的文件保存在备份文件里;
参数
文件或目录:指定要打包的文件或目录列表 实例
将文件全部打成tar包:
tar -cvf log.tar log2012.log //仅打包,不压缩!
tar -zcvf log.tar.gz log2013.log //打包后,已gzip压缩
tar -jcvf log.tar.bz2 log2012.log //打包后,以bzip2压缩 在选项f之后的文档名是自己取的,我们习惯上都用.tar来作为标识,如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包
如果加j选项,则以.tar.bz2来作为tar包名。 查阅上述tar包内有哪些文件:
tar -ztvf log.tar.gz 由于我们使用gzip压缩的log.tar.gz,所以要查阅log.tar.gz包内文件时,就得要加上z这个选项了。 将tar解压缩
tar -zxvf log.tar.gz 只将tar包内的部分文件解压出来
tar -zxvf log.tar.gz log2013.log 我们可以透过tar -ztvf来查阅tar包内的文件名称,如果只要一个文件,就可以透过这个方式来解压部分文件! 2016/12/15
2、zip命令
zip命令可以用来解压缩文件,或者对文件打包操作。
zip是一个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
语法
zip(选项)(参数) 选项
-A:调整可执行的自动解压缩文件;
-b<工作目录>: 指定暂时存放文件的目录;
-c :替每一个压缩的文件加上注释;
-d:从压缩文件中删除指定的文件;
-D:压缩文件内不建立目录名称;
-u:更换较新的文件到压缩文件内;
-f:与-u参数类似,但不仅更新既有文件,如果某些文件原本不存在压缩文件中,使用本参数会将其加入压缩文件中。
-F:尝试修复已损坏的压缩文件;
-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
-h:在线帮助
-i<范本样式>:只压缩符合条件的文件;
-j:只保存文件名称及其内容,而不存放任何目录名称;
-J:删除压缩文件前面不必要的数据
-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移动到压缩文件中;
-n<字尾子符串>:不压缩具有特定字尾字符串的文件;
-o:以压缩文件内拥有最新更改时间为准,将压缩文件的更改时间设成和文件相同;
-q:不显示指令的执行过程;
-r:递归处理,将指定目录下的所有文件和子目录一并处理;
-S:包含系统和隐藏文件;
-t<日期时间>:把压缩文件的日期设成指定的日期;
-v:显示指令过程或者版本信息;
-x<范本格式> 压缩时排除符合条件的文件;
-X:不保存额外的文件属性;
-z:为压缩文件加上注释;
参数
zip压缩包:指定要创建的zip压缩包;
文件列表:指定要压缩的文件列表; 实例
将/gllong/tes目录下的所有文件和文件夹进行打包
zip -q -r html.zip /home/tes 如果在gllong目录下
执行 zip -q -r html.zip tes 可以达到同样的效果 也可以使用 zip -r -q html.zip * 10 3、unzip命令
unzip命令,用于解压缩由zip命令压缩的".zip"压缩包。 语法
unzip(选项)(参数)
参数
压缩包:指定要解压缩的.zip压缩包。 实例
将压缩文件text.zip 在当前目录下解压缩
unzip text.zip 将压缩文件text.zip在指定目录/usr下解压缩,如果已存在有相同的文件存在,要求unzip命令不覆盖原先的文件。
unzip -n test.zip -d /usr 查看压缩文件目录,但不解压。
unzip -v test.zip 将压缩文件text.zip在指定目录/usr下解压缩,如果已存在有相同的文件存在,要求unzip命令覆盖原先的文件。
unzip -o test.zip -d /usr 4、gzip命令
gizp命令用来压缩文件。
gzip是一个广泛的压缩程序,文件经它压缩后,其名称后面会多处".gz"扩展名。
gzip是在Linux中经常使用的对文件压缩和解压缩的命令,既方便又好用。gzip命令不仅可以用来压缩大的,较少使用的文件以节省磁盘空间,
还可以和tar命令一起构成Linux系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%-70%的压缩率。减少文件大小有两个
明显的好处,减少存储空间的占用,网络传输文件时,可以减少传输时间。
语法
gzip(选项)(参数) 参数
文件列表:指定要压缩的文件列表。
实例
他test5目录下的文件压缩成.gz格式文件
gzip * 把上列中的每个压缩文件解压缩,并列出详细的信息
gzip -dv * 显示每个压缩的文件信息,但不解压
gzip -l * 压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz
gzip -r log.tar 进行递归的压缩目录
gzip -rv test5 递归的解压缩目录
gzip -dr test5 5、gunzip命令
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:显示版本信息;
参数
文件列表:指定要解压缩的压缩包。 实例
首先,将/etc目录下的所有文件以及子目录进行压缩,备份压缩包etc.zip到/opt目录,然后对etc.zip文件进行gzip压缩,设置gzip压缩级别为9。
zip -r /opt/etc.zip /etc
gzip -9v /opt/etc.zip 查看上述etc.zip.gz文件的压缩信息
gzip -l /opt/etc.zip.gz 解压上述etc.zip.gz文件到当前目录。
gzip -d /opt/etc.zip.gz
或者执行
gunzip /opt/etc.zip.gz
即gzip -d 等价于 gunzip命令。
Linux之文件压缩与解压的更多相关文章
- linux下文件压缩与解压操作
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...
- Linux 下文件压缩与解压命令详解
tar 命令 -c 建立压缩档案 -x 解压 -t 查看内容 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中 ...
- Linux中文件压缩与解压
压缩与解压 compress 文件名 1 -v //详细信息 2 3 -d //等于 uncompress 默认只识别 .Z 如果使用别的后缀,会导致不识别,解压缩失败.也可以使用 -d -c 压缩包 ...
- 文件压缩跟解压(本地&Linux服务器)
远程解压需要的jar包: <dependency> <groupId>commons-net</groupId> <artifactId>commons ...
- linux下关于压缩、解压相关的操作
本文转自: http://alex09.iteye.com/blog/647128 很不错的linux下关于压缩.解压相关的操作,适合于linux初学者. .tar 解包:tar xvf Fil ...
- CSharp tar类型文件压缩与解压
最近闲暇时间开始写点通用基础类在写到tar类型文件压缩与解压时遇到点问题 压缩用的类库我是下载的 SharpZipLib_0860版本 先上代码 加压核心 /// <summary> // ...
- I/O操作之文件压缩与解压
与文件压缩与解压相关的类在java.util.zip包下 实例 //文件压缩 import java.io.File; import java.io.FileInputStream; import j ...
- 文件压缩、解压工具类。文件压缩格式为zip
package com.JUtils.file; import java.io.BufferedOutputStream; import java.io.File; import java.io.Fi ...
- 16 Linux系统的文件压缩、解压与归档
这一节的内容,我们详细介绍下Linux的文件压缩.解压缩与文件归档的内容,也就是tar.gzip.bzip2.xz等命令的内容: 压缩(compress)与解压缩(uncompress) Linux系 ...
随机推荐
- linux服务器安装php GD扩展库方法
Strict Standards: Only variables should be assigned by reference in/home/wienholl/public_html/includ ...
- L1,a private conversation
words enjoy喜欢,享受,欣赏 pay,支付,pay money for sth 报酬,I have not received my pay yet. bear,忍受,支撑,承担,负担 I c ...
- JSP标签编程--简单标签
javax.servlet.jsp.tagext里的类SimpleTagSupport 使用SimpleTagSupport类一网打尽以往复杂的标签开发,直接使用doTag()方法 java文件: p ...
- HDU 5215 BestCoder"杯中国大学生程序设计冠军赛” 边双连通分量取出子图+二分染色判图内奇偶环
Cycle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Sub ...
- HQL中左连接,右连接,内连接
左连接:left join 如A left join B 即取出A表的所有数据,由on条件关联的B表数据,有则显示,没有则为空: 右连接:right join 如 A right join B 即取出 ...
- vi 编辑器跳转到指定行数
如:跳转到25行 :set number :23
- springMVC和json结合传递数据
1. 新建web project 2. 增加jar 3. 改写web.xml <?xml version="1.0" encoding="UTF-8"?& ...
- JS基础知识——缓动动画
基于距离的缓动动画 原理:设定起始位置 start 和终止位置 end,变化会越来越慢. 公式:start=start+(end-start)/10; 这个10不是固定的,想分成多少份就分成 ...
- EasyUi中的datagird中a标签的click事件无法触发?(已解决)
***************************2015-10-29 21:07************************* 问题如下: datagrid最后一列编辑中有如下a标签 { f ...
- [iOS]C语言技术视频-04-程序循环结构(while{})
下载地址: 链接: http://pan.baidu.com/s/1o6imQ4U 密码: imuy