压缩及归档工具

常用的有这些:

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

相关推荐

  • 第一天作业

    一、计算机的组成部分         现代计算机的组成是根据冯.诺依曼体系,包括5大部件存储器、控制器、运算器、输入设备和输出设备。             1.存储器包括内部存储器和外部存储器;内部存储器包括内部硬盘、内存、缓存等,外部存储器包括移动硬盘、光…

    Linux干货 2016-08-15
  •   在服务器托管的过程中出现故障是不能完全避免的问题,可能是服务器硬盘出现硬件故障或者是防火墙遭到攻击。那么服务器托管出现故障怎么办?

      在服务器托管的过程中出现故障是不能完全避免的问题,可能是服务器硬盘出现硬件故障或者是防火墙遭到攻击。那么服务器托管出现故障怎么办?   服务器硬盘出现硬件故障时,大家应注意以下几点:   1、硬盘出现异声,此时磁头已不正常寻址,为防止打伤盘体,需立即断电不可拆解硬盘,需交有超净间的专业公司拆开检查。   2、BIOS不认盘,找不到硬盘,先请计算机工程师仔…

    Linux干货 2016-04-05
  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05
  • 懒人本地YUM源设置

    一、挂载本地光盘到根目录下/media。 [root@wing-PC ~]# mount -v /dev/sr0 /media/ 二、用mv 修改/etc/yum.repos.d下面的文件。 [root@wing-PC ~]# mv -v /etc/yum.repos.d/CentOS-Base.repo / CentOS-Base.repo.bak [ro…

    系统运维 2017-08-05
  • 网络互联参考模型(详解)

    网络互联参考模型 1. 什么是协议 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言” 描述网络通信中“语言”规范的一组规则就是协议 例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语…… 数据通信协议的定义 决定数据的格式和传输的一组规则或者一组惯例 2. 协议分层 网络通信的过程很复杂: 数据以电子信号的形式穿越…

    Linux干货 2015-05-07
  • 在Centos系统上安装EPEL扩展源以及安装htop工具

        Htop是一个强大的进程管理前端工具,但这是一个扩展工具,一般在Centos系统源中并没有,所有我们需要到fedora-epel源中下载。         EPEL即Extra Packages for Enterprise Lin…

    Linux干货 2016-02-14