Linux中文件压缩与解压
压缩与解压
compress 文件名
1 -v //详细信息
2
3 -d //等于 uncompress 默认只识别 .Z 如果使用别的后缀,会导致不识别,解压缩失败。也可以使用 -d -c 压缩包 > 解压缩的形式,解压被改了后缀的压缩包.这种方式不会覆盖源文件.
4
5 //优点是这种方式不会覆盖源文件.缺点是会丢失文件的原有权限,新的权限基于当前umask码而定。
6
7 -c //输出的标准输出 再结合> 生成文件 举例:
8
9 compress -c pssswd > passwd.Z //压缩完成。
10
11 uncompress //解压缩
gzip 格式:gzip 文件名 压缩
1 -d 或 gunzip //解压 只识别.gz
2
3 -c 文件名 > 压缩包 //压缩后保持原文件不变,但权限会根据umask变化
4
5 gzip -c messages >messages.gz
6
7 -cd 压缩包 > 文件名 或 zcat 压缩包 > 文件名 //解压后保持压缩包不变,但权限会根据umask变化
8
9 -v //详细信息
10
11 -# //表示指定压缩比,默认是6 ,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。
12
13 gzip -9 -c passwd > passwd.gz //是压缩比最大的.
14
15 zcat //:不显式解压缩的前提下查看文本文件内容,举例
16
17 zcat messages.gz > messages
bzip2
1 -k //保持原文件或原压缩包不变
2
3 -d 或 bunzip2 //解压
4
5 -c命令.//用重定向 >也能解压,但会丢失权限.新的权限同样取决于当前的umask码.
6
7 -cd 压缩包 > 文件名 //可以实现预览压缩包的功能,解压后保持压缩包不变,但权限会根据umask变化
8
9 -v //详细信息
10
11 -# //表示指定压缩比,默认是9,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。
12
13 bzcat://不显式解压缩的前提下查看文本文件内容
xz
1 选项:
2
3 -k //保持原文件或原压缩包不变
4
5 -d 或 unxz //解压
6
7 -c 文件名 > 压缩包 //压缩后保持原文件不变,但权限会根据umask变化
8
9 -cd 压缩包 > 文件名 或 xzcat 压缩包 > 文件名 //解压后保持压缩包不变,但权限会根据umask变化
10
11 -v //详细信息
12
13 -# //表示指定压缩比,默认是6,数字越小,表示压缩比越小,速度越快。反之,数字越大,压缩比越大,速度却越慢。
xz在 compress gzip bzip2 xz这几种压缩工具中,压缩比例是最高的.而它们的共同点是:它们只负责压缩及解压缩,没有打包(归档)的功能.原文件和压缩后的文件也是一一对应的关系,
zip 打包压缩工具,默认后缀名为.zip -r //压缩包名 源文件…… 两者都可以是目录,举例 # zip –r /testdir/sysconfig /etc/sysconfig/ unzip //压缩包名 解压缩默认在当前目录进行,如果压缩包内有目录文件,则先创建再解压,不会覆盖根目录. # cat /var/log/messages | zip messages - //用cat打开messages,并通过管道传递给zip进行压缩,压缩后的位置是当前目录,名字为messages. - 在这里的意思是 /var/log/messages //因为zip需要两个参数,即 压缩包名及源文件,一些命令可以用 - 来表示第二个参数. # unzip -p message > message //解压缩的固定格式.
tar (Tape ARchive,磁带归档的缩写) 格式 tar 选项 压缩后的名字 源文件 选项中的-可以不要
1 选项:
2
3 -c //创建包
4
5 -v //详细过程
6
7 -f //指定生成后的文件名 源文件……
示例
tar -cvf mage.tar * //将当前目录下的所有文件打包压缩为 mage.tar tar -tvf mage.tar //预览归档文件(只要涉及到解压缩文件,必须加上f选项) tar -r /etc/fstab -f mage.tar //往归档中增加文件,在执行后会提示,已经将最前方的根号(/)去掉,避免解压缩的时候,覆盖了源文件. 如上例,不去掉的话,那么解压缩这个包,会直接覆盖/etc目录.另外,被其他的压缩工具再次压缩包后,不可以再往里面添加包了.但可以解一个或全部压缩. tar --delete etc/fstab -f mage.tar //从归档中减少文件 //格式 先指定要删除的文件名或目录.再指定从哪个文件里删. tar -xv passwd -f mage.tar //从归档中解出指定的文件 //格式 先指定要解压的文件名或目录.再指定从哪个文件里解压. tar -xvf mage.tar //从归档中解出所有文件 tar xvf mage.tar -C /app2 //解压到指定目录,默认为当前目录 -j //使用bzip2 压缩或解压缩(可省略) -J //使用xz 压缩或解压缩(可省略) -z //使用gzip 压缩或解压缩(可省略) tar jcvf mage.tar.bz2 * //先使用bzip2工具压缩,再使用tar工具压缩,将当前目录下的所有文件都压缩成名字为mage.tar.bz2的压缩包. tar xvf mage.tar.bz2 //将mage.tar.bz2文件先用bzip2解压缩,再使用tar解压到当前目录下.
分割及合并文件
T选项指定输入文件,-X选项指定包含要排除的文件列表
# tar zcvf mybackup.tgz -T /root/includefilelist -X (-x后面是不要的文件列表)/root/excludefilelist
将/root/includefilelist压缩为mybackup.tgz,但是不要/root/includefilelist当中的/root/excludefilelist.
//分割大的 tar 文件为多份小文件: # split –b Size(指定大小) –d tar-file-name(压缩包名字) prefix-name(拆分后的名字)//拆分后的小压缩包,只能看出是压缩类型文件(file+文件名查看),但是不能单独解压,只能合并再一起才能正常解压。 split -b 1M –d mybackup.tgz mybackup-parts //将mybackup.tgz压缩包,按照每份1M的大小分割为mybackup-parts的小压缩包。
合并:
cat mybackup-parts* > mybackup.tar.gz //将所有以mybackup-parts开头的压缩文件,合并为名字是mybackup.tar.gz的压缩包。
cpio 通过重定向的方式将文件进行打包备份,还原恢复的工具.可以解压以“.cpio”或者“.tar”结尾的文件
cpio [选项] > 文件名或者设备名
cpio [选项] < 文件名或者设备名
选项:
-o //将文件拷贝打包成文件或者将文件输出到设备上 -i //解包,将打包文件解压或将设备上的备份还原到系统 -t //预览,查看文件内容或者输出到设备上的文件内容 -v //显示打包过程中的文件名称。 -d //解包生成目录,在cpio还原时,自动的建立目录 -c //一种较新的存储方式
示例:
# find |cpio -ov > find.cpio //将查找到的数据管道给cpio,然后归档打包为find.cpio # cpio -tv < find.cpio 或 # cat find.cpio |cpio -tv //预览find.cpio当中的文件. # cpio -idv < find.cpio 或 cat find.cpio |cpio -idv //解开find.cpio当中的文件.
归档和解压的时候,原文件的权限也会被保存.cpio解文件,自己不会带跟目录/.可以手动指定目录.
rpm2cpio命令:将rpm格式的文件转为cpio格式的文件。rpm是linux中常用的文件格式,方便了用户的安装,但没有cpio格式灵活,最典型的例子就是安装一个在rpm中.iso文件时,如果直接使用rpm安装,那么需要处理复杂的依赖关系,将rpm转为cpio,则可以方便地提取.iso文件,做过软连接。
常用格式:rpm2cpio kernel-2.6.32-696.el6.x86_64.rpm |cpio -id
Linux中文件压缩与解压的更多相关文章
- Linux之文件压缩与解压
文件压缩与解压 1.tar命令 tar命令可以为Linux的文件和目录创建档案. 利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来 ...
- linux下文件压缩与解压操作
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...
- Linux 下文件压缩与解压命令详解
tar 命令 -c 建立压缩档案 -x 解压 -t 查看内容 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中 ...
- linux中常用压缩与解压命令
一. tar文件的解压 tar -xvf db.tar 二. zip文件的压缩与解压 压缩 zip -r dest_name.zip directory_to_compress 解压 unzip de ...
- 文件压缩跟解压(本地&Linux服务器)
远程解压需要的jar包: <dependency> <groupId>commons-net</groupId> <artifactId>commons ...
- CSharp tar类型文件压缩与解压
最近闲暇时间开始写点通用基础类在写到tar类型文件压缩与解压时遇到点问题 压缩用的类库我是下载的 SharpZipLib_0860版本 先上代码 加压核心 /// <summary> // ...
- I/O操作之文件压缩与解压
与文件压缩与解压相关的类在java.util.zip包下 实例 //文件压缩 import java.io.File; import java.io.FileInputStream; import j ...
- iOS开发中的压缩以及解压
事实上,在iOS开发中,压缩与解压,我都是采用第三方框架SSZipArchive实现的 gitHub地址: https://github.com/ZipArchive/ZipArchive 上面有 ...
- linux下关于压缩、解压相关的操作
本文转自: http://alex09.iteye.com/blog/647128 很不错的linux下关于压缩.解压相关的操作,适合于linux初学者. .tar 解包:tar xvf Fil ...
随机推荐
- ES6入门系列二(数值的扩展)
ES6 在 Number对象上新增了很多方法 1 . Number.isFinite()判断是否为有限的数字 和全局的isFinite() 方法的区别是 isFinite('1') === tr ...
- Android 兼容包
http://www.cnblogs.com/kissazi2/p/3644848.html 在AndoridManifest.xml文件中可以查看项目最低支持的SDK版本 <uses-sdk ...
- Poj2299 Ultra-QuickSort(另附本质不同逆序对)
Description 给定一个长度为 n(n≤5*10^5) 的序列 a,如果只允许进行比较和交换相邻两个数的操作求至少需要多少次交换才能把 a 从小到大排序. Input The input co ...
- 2019最好用的自动化测试工具Top 10,果断收藏!
经常有人在公众号留言或是后台问我,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总是无奈的说: 你应该学习Python 或是Java. 你应该掌握Selenium. 又或者你需要学会jm ...
- UWP 播放媒体控件
最近我的uwp需要有一个有声朗读的功能,like this 点击声音按钮就可以有声朗读了.这里主要是用了媒体播放的控件. 一般我们把需求分为两种: 一种是不需要呈现播放器的样子,只需要用户点击一下别的 ...
- 转 PHP 正则表达式 以及案例
2.Perl兼容的语法扩充 Perl兼容的正则表达式的模式类似于Perl中的语法,表达式必须包含在定界符中,除数字.字母.反斜线外的任何字符都可以作为定界符.例如,表达式’/^(?i)php[34]/ ...
- axios 访问和返回拦截,token处理,返回异常统一处理
在axios文件夹中,index.js添加拦截 访问拦截: import store from '../store' axios.interceptors.request.use( config =& ...
- Linux 批量杀进程的命令
使用awk批量杀进程的命令: ps -ef | grep firefox | grep -v grep | awk '{print "kill -9 "$2}'|sh #列出了当前 ...
- Kettle Rest大文件上传(RestUploadFile.ktr) Rest文件下载(FileDownload.ktr)
1. Rest大文件上传(RestUploadFile.ktr) 需求描述 上传文件大于10M小于500M 上传文件进行分片(5M一片要比1M分片整体时间快) 先使用java类进行功能模拟在迁移Ktr ...
- plpgsql: 动态插入数据 1
--目标:1.建立一个函数实现 输入一个表名(tableName)tableName,一个JSON串{feildName1:feildVale1,feildName2:feildVale2} -- 然 ...