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系 ...
随机推荐
- 2017 ZSTU寒假排位赛 #1
题目链接:https://vjudge.net/contest/147102#overview. A题:给出一堆的点,要找出两条垂直的直线,一条与x轴呈45度.-->使得所有的点到任意一条直线的 ...
- Redis 密码设置和登录
Redis 一般在生产环境中,大家都不使用密码,为了确保安全,都是在防火墙上对redis端口做IP白名单的 我是个技术控,我非得了解一下密码这回事[虽然以后不会用到,呵呵] 好了,废话不多说,简单介绍 ...
- 常用的dos命名
注销:logoff 注册表:regedit 查看显存:dxdiag 删除文件: del +文件 删除文件夹: rd+(/s)+文件名 (/s表示删除文件下的子目录和文件); 系统配置实用程序: msc ...
- 'xcopy' 'ipconfig'。。。 不是内部或外部命令,也不是可运行的程序 或批处理文件
最近在win8下安装软件的时候,总是报 "xxx不是内部或外部命令,也不是可运行的程序 或批处理文件" 的错误 . 百思不得其解 打开cmd 或 powerShell 输入xco ...
- USACO Section 1.2 Name That Number 解题报告
题目 题目描述 在一个农场里面,每一头牛都有一个数字编号,但是现在这些牛不喜欢这种编号,它们想把这些数字编号转化成为可以接受的字母的形式.数字与字母的转换表如下: 2: A,B,C 5: J,K,L ...
- 004-Python字符串
Python 字符串(str) 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.创建字符串很简单,只要为变量分配一个值即可. var1 = "H ...
- c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑
在绑定书到gridControl后经常发现: 如果你设置了 this.gridView3.OptionsBehavior.Editable = false; 那数据可以跟随滚轮滚动,但如果你要复制某个 ...
- php各项下载地址
Apache2.4下载地址 http://www.apachehaus.com/cgi-bin/download.plx PHP5.6下载地址 http://php.net/downloads.p ...
- html ajax 双引号的问题
"<a onClick='openwin_searchmodel()' href='searchmodel.action?projectname="+person[i].ge ...
- achartengine画出动态折线图
achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目 ...