linux下压缩工具总结与使用(参考私房菜)

1 压缩

gzip命令

options:

-c  数据流重定向,可以定位为文件

-r  递归压缩,即深入子目录

-v  显示姓名和压缩比等冗余信息

-d  解压缩

-#  加上的数字表示压缩等级,越高表示压缩比越高,但更慢

①做了一个很简单的实验

[[email protected] tmp]# ll -h
total 128K
-rw-r--r--. 1 root root 128K Jun 27 03:00 test
[[email protected] tmp]# gzip -v -9 test
test:	 99.9% -- replaced with test.gz
[[email protected] tmp]# ll -h
total 4.0K
-rw-r--r--. 1 root root 166 Jun 27 03:00 test.gz
[[email protected] tmp]# gzip -d test.gz 
[[email protected] tmp]# gzip -v -1 test 
test:	 99.6% -- replaced with test.gz

②如何保留原文件?

一种方案我觉得很好用,上面的-c命令

[[email protected] tmp]# gzip -c test > test.gz
[[email protected] tmp]# ll
total 132
-rw-r--r--. 1 root root 131072 Jun 27 03:00 test
-rw-r--r--. 1 root root    166 Jun 27 03:03 test.gz

④利用zcat可以直接读压缩文件,前提是cat可以读取原文件,所以叫zcat ==

[[email protected] tmp]# zcat test1.sh.gz 
this is a test.

bzip2命令

据说比zip有更好的压缩比,命令行使用,建议使用差不多的子选项

做了个简单小实验

[[email protected] tmp]# gzip -9 -v -c test >test.gz
test:	 99.9%
[[email protected] tmp]# bzip2 -9 -v -c test >test.bz2
  test:    2978.909:1,  0.003 bits/byte, 99.97% saved, 131072 in, 44 out.

果不其然,其他用法相似,不建议继续尝试了

bzcat也一样

[[email protected] tmp]# bzcat test1.sh.bz2 
this is a test.

下面看看如何打包和压缩解压缩包吧

tar命令

网上有一段讲的很好,这里摘下来

参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!这样对配置文件很方便,一般备份/etc最好使用-p

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!

-C 目录   指定解压的目录

基本上常用的都已经说明

注意如下几点

1 tar实用的时候考虑,一般当然是压缩的,那么考虑是用zip还是bzip,zip就使用z,bzip用j,解压同理

2 -f后面接文件,所以f紧接着要创建的压缩文件的,最后接上要压缩的源文件

下面继续做咱的小实验

①打包tmp的除了test的所有文件到/root/backup/目录下,使用bzip2压缩

[[email protected] tmp]# tar -jcvf /root/backup/tmp.bz2  /tmp --exclude test
tar: Removing leading `/‘ from member names
/tmp/
/tmp/test.bz2
/tmp/test.gz
/tmp/test1.sh.bz2

②此时要求保留文件属性,把/etc/my.cnf压缩至/root/backup/目录下,名称问my.bak

[[email protected] tmp]# tar -jcvpf /root/backup/my.bak /etc/my.cnf
tar: Removing leading `/‘ from member names
/etc/my.cnf

③在root家目录下,把晚于2015年7月11日的文件备份,命名为2015.7.11.bak

[[email protected] ~]# tar -jcvp -f /root/backup/2015.7.11.bak  /root -N 20150711

④在③压缩文件中添加一个文件/tmp/test,并查看

[[email protected] ~]# tar -rf  /root/backup/2015.7.11.bak.tar  /tmp/test
tar: Cannot update compressed archives
tar: Error is not recoverable: exiting now

追加了半天,发现这个错误,才意识到,是我已经压缩了才这样,所以最好的办法是重新压缩,当然对于一个tar包添加再压缩也可以

[[email protected] ~]# tar -jcvpf  /root/backup/2015.7.11.bak  /tmp/test  /root -N 20150711
[[email protected] ~]# tar -tvf /root/backup/2015.7.11.bak

或者这样

[[email protected] ~]# tar -cf /root/backup/2015.7.11.bak /root
[[email protected] ~]# tar -rvf /root/backup/2015.7.11.bak /tmp/test
 tar: Removing leading `/‘ from member names
/tmp/test
[[email protected] ~]# tar -tvf /root/backup/2015.7.11.bak 
...
-rw-r--r-- root/root    131072 2015-06-27 04:27 tmp/test

总之,其他的还是自己以后慢慢使用吧,当然,前面也可以不适用-,如tar xf,这是另一种风格,巨日我也忘了

时间: 2024-10-15 08:21:03

linux下压缩工具总结与使用(参考私房菜)的相关文章

DNS服务器配置小结(参考私房菜,马哥视频)

DNS原理方面的东西就不介绍了,具体的可以看私房菜的DNS服务器部分,讲的很好.主要跟着私房菜的思路在虚拟机中重新实践下了吧 a)需要注意一下几个重要的文件 /etc/named.conf主配置文件,有区域的定义,一定要记住 /var/named/这个文件夹下存放区域数据文件 /etc/rc.d/init.d/named命令可以使用reload,start,restart,stop /var/log/messages登录日志信息 b)几个检查是否有语法错误的命令named-checkconf;n

DHCP局域网服务器(一)(部分参考私房菜,用TCP/IP进行网际互联)

一 DHCP工作原理 功能介绍 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段.UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口.类似于DHCP这种初始化过程可以让用户在不了解有关地址.路由.掩码,即可自动设置其网络,连

Zookeeper linux下使用

安装 1.  安装包下载到window系统,通过pscp命令,拷贝到linux下.Pscp使用请参考下面文章:http://www.linuxidc.com/Linux/2012-05/60966.htm 2.  开始—运行—cmd进入命令行窗口,输入命令: pscp F:\学习\zookeeper\zookeeper-3.4.6.tar.gz [email protected]:/home/lb Ctrl+alt+f3进入虚拟机命令窗口,cd  /home/lb查看到zookeeper-3.4

linux下jira6.3.3安装破解

序言: JIRA是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷.任务.需求.改进等.JIRA采用J2EE技术,能够跨平台部署.它正被广泛的开源软件组织,以及全球著名的公司使用. JIRA产品非常完善且功能强大,安装配置简单,多语言支持.界面十分友好,和其他系统如CVS.Subversion(SVN).VSS.LDAP.邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十分出色,拥有完整的用户权限管理. 环境:jira软件

Linux下安装破解JIRA 6.3.6 并连接MYSQL5

序言 JIRA是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷.任务.需求.改进等.JIRA采用J2EE技术,能够跨平台部署.它正被广泛的开源软件组织,以及全球著名的公司使用. JIRA产品非常完善且功能强大,安装配置简单,多语言支持.界面十分友好,和其他系统如CVS.Subversion(SVN).VSS.LDAP.邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十分出色,拥有完整的用户权限管理. 环境:jira软件:

Linux下EC20实现ppp拨号(转)

源: Linux下EC20实现ppp拨号 参考: 4g模块EC20+android6.0系统移植 OK6410开发板调试EC20通信模块 原文地址:https://www.cnblogs.com/LittleTiger/p/10728766.html

微信私房菜走红 外卖、用户、监管三方皆受伤

微信就像一块肥沃的土壤,腾讯给打好了地基,基本上就采取"无为而治"的手段,任各种商业模式在上面生根发芽--前提是没损害微信自身的利益.于是我们见到,微信上各种乱象层出不穷,利用朋友圈和熟人关系.病毒传播售卖商品的种类也日益繁多.只有想不到,绝没有买不到!越是脑洞大开,就越能在这个复杂的生态中成长. 近段时间,面膜.化妆品等在微信的严厉打击下已经苟延残喘,反而是私房菜成为最流行的商品,开始在朋友圈大肆刷屏.私房菜"独家秘制"."限量供应".&quo

Linux下用c语言实现发送http请求 方式可以Get或者Post例程参考

[1].[代码] Linux下用c语言实现发送http请求 方式可以Get或者Post 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

快速建立linux下的vpn服务器做加密代理

原文出处: http://www.xfocus.net/articles/200610/893.html 创建时间:2006-10-27文章属性:原创文章提交:fatb (fatb_at_security.zz.ha.cn) 作者:baoz日期:2006-10-26http://baoz.nethttp://xsec.org1妹儿:perlish(*)gmail.com or [email protected] (有时gmail收不到信或者会被当垃圾邮件过滤掉)欢迎转载任何人任何时候转载到任何地