Linux下文件的压缩与打包
一、Linux下常见的文件压缩命令:
在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』,为什么会有这样的扩展名呢?
这是因为 Linux 支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件罗。 所以,当你下载到某个压缩档时,自然就需要知道该文件是由哪种压缩命令所制作出来的,好用来对照解压缩! 下面是常见的压缩文件扩展名吧:
*.Z compress 程序压缩的文件; *.gz gzip 程序压缩的文件; *.bz2 bzip2 程序压缩的文件; *.tar tar 程序打包的数据,并没有压缩过; *.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩 *.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
Linux上常见的压缩命令就是 gzip 与 bzip2 ,至於 compress 已经退流行了。 gzip 是由 GNU所开发出来的压缩命令,该命令已经取代了 compress 。 后来 GNU 又开发出 bzip2 这个压缩比更好的压缩命令!不过,这些命令通常仅能针对一个文件来压缩与解压缩,如此一来, 每次压缩与解压缩都要一大堆文件,岂不烦人?此时,那个所谓的『打包软件, tar』就显的很重要啦!
这个 tar 可以将很多文件『打包』成为一个文件!甚至是目录也可以这么玩。不过,单纯的 tar 功能仅是『打包』而已,亦即是将很多文件集结成为一个文件, 事实上,他并没有提供压缩的功能,后来,GNU中,将整个 tar 与压缩的功能结合在一起,如此一来提供使用者更方便并且更强大的压缩与打包功能! 底下我们就来谈一谈这些在 Linux 底下基本的压缩命令吧!
① gzip命令
gzip 可以说是应用度最广的压缩命令了!目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 至於 gzip 所创建的压缩文件名为 *.gz!这个命令的语法吧:
[root@www ~]# gzip [-cdtv#] 文件名 [root@www ~]# zcat 文件名.gz 选项与参数: -c :将压缩的数据输出到萤幕上,可透过数据流重导向来处理; -d :解压缩的参数; -t :可以用来检验一个压缩文件的一致性~看看文件有无错误; -v :可以显示出原文件/压缩文件的压缩比等资讯; -# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
当你使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的档名, 原始文件就不再存在了
压缩文件:
[root@localhost softwore]# gzip -v fs.txt
fs.txt: 61.5% -- replaced with fs.txt.gz
解压文件:
[root@localhost softwore]# gzip -d fs.txt.gz
使用zcat读取压缩文件内容:
cat 可以读取纯文字档,那个 zcat 则可以读取纯文字文件被压缩后的压缩压缩文件! 由於 gzip 这个压缩命令主要想要用来取代 compress 的,所以不但 compress 的压缩文件可以使用 gzip 来解开,同时 zcat 这个命令可以同时读取 compress 与 gzip 的压缩文件!
[root@localhost softwore]# zcat fs.txt.gz
host:
username: root
password:
java_home_path: /usr/java/jdk1.7.0_75
mysql_home_path: /usr/local/mysql
mysql_username: root/reder4
mysql_password: host:
username: root
password:
java_home_path: /usr/java/jdk1.7.0_75
mysql_home_path: /usr/local/mysql
mysql_username: root/rener4
mysql_password: grant create,select,update,delete,insert,drop on render4_fs.* to render4@'%';[root@localhost softwore]#
② bzip2 命令
[root@www ~]# bzip2 [-cdkzv#] 档名 [root@www ~]# bzcat 档名.bz2 选项与参数: -c :将压缩的过程产生的数据输出到萤幕上! -d :解压缩的参数 -k :保留原始文件,而不会删除原始的文件喔! -z :压缩的参数 -v :可以显示出原文件/压缩文件的压缩比等资讯; -# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
例:
压缩文件:
[root@localhost softwore]# bzip2 -v fs.txt
fs.txt: 1.770:1, 4.519 bits/byte, 43.51% saved, 439 in, 248 out.
解压文件:
[root@localhost softwore]# bzip2 -d fs.txt.bz2
同zcat命令,bzcat命令同样可以读取被压缩的纯文本文件
二、打包命令
tar 可以将多个目录或文件打包成一个大文件,同时还可以透过 gzip/bzip2 的支持,将该文件同时进行压缩!
tar命令的使用语法:
[root@www ~]# tar [-j|-z] [cv] [-f 创建的文件名] filename... <==打包与压缩
[root@www ~]# tar [-j|-z] [tv] [-f 创建的文件名] <==察看档名
[root@www ~]# tar [-j|-z] [xv] [-f 创建的文件名] [-C 目录] <==解压缩
选项与参数:
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t :察看打包文件的内容含有哪些档名,重点在察看『文件名』就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j :透过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-z :透过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项罗!
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
其他后续练习会使用到的选项介绍:
-p :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!
其实最简单的使用 tar 就只要记忆底下的方式即可:
- 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
- 查 询:tar -jtv -f filename.tar.bz2
- 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
例:
打包压缩操作(打包usr目录下softwore文件夹):
[root@localhost usr]# tar -jcv -f softwore.tar.bz2 softwore
softwore/
softwore/jdk-7u79-linux-x64.rpm
softwore/fs.txt
查询:
[root@localhost usr]# tar -jtv -f softwore.tar.bz2
drwxr-xr-x root/elgin 0 2015-12-21 01:11 softwore/
-rw-r--r-- elgin/elgin 138082565 2015-12-16 20:08 softwore/jdk-7u79-linux-x64.rpm
-rw-r--r-- root/root 439 1970-01-01 01:46 softwore/fs.txt
解压缩:
[root@localhost usr]# tar -jxv -f softwore.tar.bz2 -C /usr/local/softwore
softwore/
softwore/jdk-7u79-linux-x64.rpm
softwore/fs.txt
上述命令将 压缩文件解压到 /usr/local/softwore 这个文件夹下
Linux下文件的压缩与打包的更多相关文章
- linux下文件加密压缩和解压的方法
一.用tar命令 对文件加密压缩和解压 压缩:tar -zcf - filename |openssl des3 -salt -k password | dd of=filename.des3 此命 ...
- Linux下文件的压缩与解压缩
一.zip格式 zip可能是目前使用的最多的文档压缩格式.它最大的优点就是在不同的操作系统平台上使用.缺点就是支持 的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好. 我们可以使 ...
- Linux下文件的压缩和解压
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...
- linux下文件的打包和压缩
文章来源:linux下文件的打包和压缩 目录 一.文件压缩的原理 二.linux常见的压缩指令 三.常用实例 1.tar命令 2.zip命令 3.gz命令 4.bz2命令 5.xz命令(必须分两步) ...
- linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包
一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格 ...
- Linux下文件的打包、解压缩指令——tar,gzip,bzip2,unzip,rar
本文是笔者对鸟叔的Linux私房菜(基础学习篇) 第三版(中文网站)中关于 Linux 环境下打包和解压缩指令的内容以及日常操作过程中所接触的相关指令的总结和记录,以供备忘和分享.更多详细信息可直接参 ...
- Linux下文件的打包、解压缩指令——tar,gzip,bzip2
本文是对 鸟叔的Linux私房菜(基础学习篇) 第三版 的学习笔记,原文可参考原书中文网站 鸟叔的Linux私房菜.更多详细信息可直接参考对应Linux命令的 man 帮助( 如 man tar). ...
- linux文件压缩与文件夹压缩(打包)
目录 一:linux文件压缩 1.linux常见的压缩包有哪些? 2.bzip压缩(文件) 二:打包(文件夹压缩) 1.打包命令 2.参数 3.参数解析(实战) 4.注意事项 简介: win中的压缩包 ...
- 【linux相识相知】压缩与打包
我们日常使用window的时候,经常会用到压缩与解压缩,如果要压缩一个文件,右击选择[添加到压缩文件],解压缩则右击选择[解压到当前文件夹],“点点点”就能完成.但是在一个没有装图形化界面的linux ...
随机推荐
- Linux批量杀进程
ps -ef |grep 进程名|grep -v grep |awk '{print $2}' |xargs kill -9
- 2014图灵技术图书最受欢迎TOP15
来自:图灵社区昨晚给我发的邮件,感觉不错,和大家分享,mark下. [小编语] 回首2014,感谢小伙伴们一路相随.让我们2015一起更快乐地玩耍.今天小编为大家盘点一下过去2014年表现最给力的技术 ...
- HDU 4565 So Easy!(矩阵)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4565 题意: 题意: #include <iostream>#include <cs ...
- [Codeforces673C]Bear and Colors(枚举,暴力)
题目链接:http://codeforces.com/contest/673/problem/C 题意:给一串数,不同大小的区间内出现次数最多的那个数在计数的时候会+1,问所有区间都这样计一次数,所有 ...
- Kaleidoscope for mac
mac下的对比工具Kaleidoscope,是一款不错的对比工具,界面被广大用户所喜爱. window下使用beyond compare 3,具体设置步骤,请见:http://www.cnblogs. ...
- JPA和Hibernate的区别
JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分. Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的 ...
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲 上面是效果,下面来说使用步骤 jQuery.Valid ...
- 模仿 "淘宝彩票" 的随机选球投注效果!
我个人比较喜欢看网页的效果,前几天看了淘宝的“淘宝彩票”,今天仿造做了一个,我觉得比淘宝的体验要好. 查看 “淘宝彩票” 的网页源码发现,主要是用到了Css3 transform 的 Matrix 来 ...
- Java [Leetcode 290]Word Pattern
题目描述: Given a pattern and a string str, find if str follows the same pattern. Here follow means a fu ...
- UIView 设置alpha后, 子view也随着变化alpha, 解决方法
// _closeContainerBar.alpha = 0.7; _closeContainerBar.backgroundColor = [[UIColor blackColor] ...