压缩及归档工具

常用的有这些:

compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

tar, cpio

现在分别介绍他们的用法:

1、gzip/gunzip/zcat  .gz

             

gzip [OPTION]… FILE …  默认压缩/解压缩完之后删除原文件 

-d: 解压缩,相当于gunzip

-c: 将结果输出至标准输出,将不会操作原文件,压缩以后保留原文件 

-#:1-9,指定压缩比;比例越大,压缩后的文件越小,消耗的时间越长

-r:压缩目录,它会对目录中的每一个文件都进行压缩,并且把原文件都删除

zcat:自动调用gunzip命令,解压至临时文件中,并使用zcat打开查看;不展开的前提下,查看文本文件内容; 

zcat messages.gz  

     zcat messages.gz | less 分页看

[root@localhost ~]# cp /var/log/messages ./
[root@localhost ~]# cp /etc/rc.d/init.d/functions ./
[root@localhost ~]# ll messages functions
-rw-r--r--. 1 root root   13948 Sep 16 16:36 functions
-rw-------. 1 root root 1274157 Sep 16 16:35 messages
[root@localhost ~]# ll -h messages functions
-rw-r--r--. 1 root root  14K Sep 16 16:36 functions
-rw-------. 1 root root 1.3M Sep 16 16:35 messages
[root@localhost ~]# gzip messages
[root@localhost ~]# ll -h
total 7.8M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root  96K Sep 16 16:35 messages.gz    #只有压缩后的文件,原文件已被删除
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
-rw-r--r--.  1 root root 7.7M Sep 11 19:05 phpMyAdmin-4.0.10.17-all-languages.tar.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

2、bzip2/bunzip2/bzcat  .bz2

bzip2 [OPTION]… FILE … 

默认压缩/解压缩完之后删除原文件;只能压缩文件,不能压缩目录;

    

-k: keep, 保留原文件,不需要重定向  

-d:解压缩

-#:1-9,压缩比,默认为6; 压缩比更大,效率更高

bzcat:不显式展开的前提下查看文本文件内容;

[root@localhost ~]# bzip2 messages
[root@localhost ~]# ll -h
total 280K
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-------.  1 root root  62K Sep 16 16:35 messages.bz2   #压缩,已经有massages.bz2文件,默认压缩比更大
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#
[root@localhost ~]# bzip2 -d messages.bz2
[root@localhost ~]# ll -h
total 1.5M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root 1.3M Sep 16 16:35 messages   #解压缩,默认也会删除原文件
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

3、xz/unxz/xzcat  .xz

xz [OPTION]… FILE …   

-k: keep, 保留原文件

-d:解压缩

-#:1-9,压缩比,默认为6; 压缩比更大 

xzcat: 不显式展开的前提下查看文本文件内容;

[root@localhost ~]# xz -k messages
[root@localhost ~]# ll -h
total 1.6M
-rw-------.  1 root root 1.5K Aug  9 23:56 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Desktop
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Documents
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Downloads
-rw-r--r--.  1 root root  14K Sep 16 16:36 functions
-rw-------.  1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg
-rw-------.  1 root root 1.3M Sep 16 16:35 messages
-rw-r--r--.  1 root root  92K Sep 16 16:51 messages.2.gz
-rw-------.  1 root root  62K Sep 16 16:35 messages.bz2
-rw-r--r--.  1 root root  96K Sep 16 16:47 messages.gz
-rw-------.  1 root root  57K Sep 16 16:35 messages.xz   #压缩,压缩比更大
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Music
drwxr-xr-x.  2 root root   39 Aug  9 23:55 openscap_data
drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Pictures
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Public
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Templates
drwxr-xr-x.  2 root root    6 Aug 10 00:01 Videos
[root@localhost ~]#

4、zip  .zip   

    要想压缩目录,应该把目录打包成单个文件,再压缩,而打包其实就是归档;

    zip是集归档、压缩为一体的工具。

    要指明压缩后的文件名:zip name 目录; 不会删除原文件

zip pam.d.zip pam.d/  #压缩目录
ll -h
mv pam.d pam.d.orig   #改名,因为解压缩后的文件也会叫pam.d
unzip pam.d.zip   #展开
ll
cd pam.d
ll  #没有文件,因此我们在归档时要指明哪些文件

rm -rf pam.d pam.d.zip  
zip pam.d.zip pam.d.orig/*     #*指明所有文件
ll -h    #pam.d.zip有大小了
du -sh pam.d.orig/  #可以看到原文件pam.d.orig的大小,184k

mv pam.d.orig pam.d.orig.2   #展开,不管归档后叫什么名,展开后还是归档前的那个名
ll
uzip pam.d.zip
ll  #展开仍然为pam.d.orig

5、tar   .tar   

tar [OPTION]…  用的非常多,归档工具

(1) 创建归档

tar cf /PATH/TO/SOMEFILE.tar FILE…  

(2) 查看归档文件中的文件列表  不打开的前提下查看文件

tar tf /PATH/TO/SOMEFILE.tar

(3) 展开归档

tar xf /PATH/TO/SOMEFILE.tar

tar xf /PATH/TO/SOMEFILE.tar -C /PATH/TO/DIR   默认展开在当前目录,-C 保存到指定目录

  结合压缩工具实现归档并压缩,创建时使用

-j: bzip2,  -z: gzip,  -J: xz

mv pam.d.org.2 pam.d 改名
tar -cf pam.d.tar pam.d/  归档
ll -h   可以看到pam.d.tar 为60k,不指名所有文件也能归档

展开到指明目录:
mkdir /tmp/test
tar xf pam.d.tar -C /tmp/test/
ls /tmp/test   
ls /tmp/test/pam.d   #pam.d下所有文件也在
xz pam.d.tar  删除原文件,只保留压缩文件
ll   

tar Jxf pam.d.tar.xz   #展开归档 ‘既归档又压缩’的文件
ll -h   #pam.d又在了,而tar不会删除原文件,不管是归档、展开归档

tar Jtf pam.d.tar.xz  #查看归档前的文件列表
rm pam.d.tar.xz

tar -Jcf pam.d.tar.xz pam.d  #一次完成,既归档,又压缩
ll -h

原创文章,作者:mississippi,如若转载,请注明出处:http://www.178linux.com/47020

(0)
mississippimississippi
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • 用户 组

    用户 组    在linux系统中,用户管理是基于用户名和密码的方式进行资源的分配,linux上用户Username/UID分为以下类别:    管理员: root,0    普通用户: 1-65535 普通用户分为:系统用户和登录用户两种 系统用户:1-499(cen…

    系统运维 2016-08-04
  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18
  • 让运维工程师不再蓝瘦、香菇

    最近广西一小哥失恋后录的视频风靡互联网,也让“蓝瘦、香菇”这两个词火了一把。虽然原故事男主角是因为失恋才蓝瘦、香菇,但想想作为运维“狗”的我们也时常因强大的工作压力而蓝瘦,常常在晚上睡得香呼呼的时候因为要处理故障从温暖的被窝爬起来,看着铝朋友鄙视的眼神,真的好香菇……本来作为技术大牛的我们,工作应该是很酷的事情,享受的应该是小白美铝们崇拜的眼神,可现在却那么…

    系统运维 2017-01-09
  • Linux源程序包管理器之RPM

    一、 RPM功能描述 l  打包 l  安装 l  卸载 l  升级 l  校验 l  数据库管理 二、 RPM包命名格式 1.       命名格式举例 name-version-relase.arch.rpm 例如:bash-4.2.3…

    系统运维 2015-09-25
  • 搜索引擎的检索模型-查询与文档的相关度计算

    1. 检索模型概述       搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网页链接情况。这里我们主要总结网页内容和用户查询相关的内容。     &nbsp…

    2015-12-10
  • 谁说C语言很简单?

    前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。 是的,C语言并不简单,让我们来看看下面这些示例: 为什么下面的代码会返回0?(这题应该很简单吧) int x;   return x == (1&…

    Linux干货 2016-03-20