Linux文档的压缩与打包

  • Linux文档的压缩与打包

  • 概述

  • compress和uncompress

  • gzip压缩工具

  • bzip2压缩工具

  • zip压缩工具

  • tar压缩工具

  • cpio压缩工具(主要用来备份还原)

Linux文档的压缩与打包

概述

本章将介绍Linux系统中的压缩和解压缩的工具,以及归档工具(tar,cpio)

compress/uncompress:    //对应 .Z 结尾的压缩格式文件;
gzip/gunzip:            //其对应的是 .gz 结尾的压缩格式文件;
bzip2/bunzip2:          //其对应的是 .bz2 结尾的压缩格式文件;
zip/unzip               //其对应的是 .zip 结尾的压缩格式文件
tar                     //可以为目录打包,指定以上的所有压缩格式

compress和uncompress

语法:compress [-dfvcVr] [-b maxbits] [file …]

-d: 解压缩,相当于 (可以配合 -c 保留压缩文件) 
-c: 结果输出至标准输出,不删除原文件 
-v: 显示详情

[root@localhost ~]# cd /tmp 
[root@localhost tmp]# cp /etc/man.config .
[root@localhost tmp]# compress man.config

//uncompress解压缩
[root@localhost tmp]# uncompress man.config.Z

gzip压缩工具

语法: gzip [-d#] filename 其中#为1-9的数字

“-d” : 解压缩时使用 
“-#” : 压缩等级,1压缩最差,9压缩最好,6为默认

[root@localhost tmp]# gzip  man.config  //压缩文件
[root@localhost tmp]# ls
ks-script-BKWeFw  ks-script-BKWeFw.log  man.config.gz  yum.log
[root@localhost tmp]# gzip -d man.config.gz  //解压文件
[root@localhost tmp]# ls
ks-script-BKWeFw  ks-script-BKWeFw.log  man.config  yum.log
//gzip 是不支持压缩目录的。

bzip2压缩工具

语法: bzip2 [-dz] filename

bzip2 只有两个选项需要你掌握。 
“-d” : 解压缩 
“-z” : 压缩 
"-k": keep, 保留原文件 
压缩时,可以加“-z” 也可以不加,都可以压缩文件,”-d” 则为解压的选项:

[root@localhost tmp]# bzip2 man.config  //压缩文件
[root@localhost tmp]# ls
ks-script-BKWeFw  ks-script-BKWeFw.log  man.config.bz2  yum.log
[root@localhost tmp]# bzip2 -d man.config.bz2  //解压文件
[root@localhost tmp]# ls
ks-script-BKWeFw  ks-script-BKWeFw.log  man.config  yum.log
//bzip2 同样是不支持压缩目录的。

zip压缩工具

zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。

将/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip:

[root@localhost /]# zip -q -r home.zip /home/

unzip命令用于解压缩由zip命令压缩的“.zip”压缩包。

[root@localhost /]# unzip home.zip 

tar压缩工具

tar 本身为一个打包工具,可以把目录打包成一个文件,它的好处是它把所有文件整合成一个大文件整体,方便拷贝或者移动。

语法:tar [-zjxcvfpP] filename tar 命令有多个选项

常用选项 
“-z” : 同时用gzip压缩 
“-j” : 同时用bzip2压缩 
“-x” : 解包或者解压缩 
“-t” : 查看tar包里面的文件 
“-c” : 建立一个tar包或者压缩文件包 
“-v” : 可视化 
“-f” : 后面跟文件名,压缩时跟 “-f 文件名”,意思是压缩后的文件名为filename, 解压时跟 “-f 文件名”,意思是解压filename. 请注意,如果是多个参数组合的情况下带有 “-f”,请把 “-f” 写到最后面。

实例: 
(1) 创建归档

[root@localhost /]# tar cvzf home.tar.gz /home

(2) 查看归档文件中的文件列表

[root@localhost /]# tar -tf home.tar.gz 

(3) 展开归档

[root@localhost /]# tar -zxvf home.tar.gz 
[root@localhost /]# tar -zxvf home.tar.gz -C /tmp/

cpio压缩工具(主要用来备份还原)

cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。 cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复 
的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件。

cpio [ 选项] >  文件名或者设备名
cpio [ 选项] <  文件名或者设备名

选项 
-o 将文件拷贝打包成文件或者将文件输出到设备上 
-i 解包,将打包文件解压或将设备上的备份还原到系统 
-t 预览,查看文件内容或者输出到设备上的文件内容 
-v 显示打包过程中的文件名称。 
-d 解包生成目录,在cpio 还原时,自动的建立目录 
-c 一种较新的存储方式 
-B:将输入/输出的区块大小改成5210Bytes;

将/etc下的所有普通文件都备份到/opt/etc.cpio,使用以下命令:

find /etc –type f | cpio –ocvB >/opt/etc.cpio

内容预览

[root@localhost tmp]# cpio -tv < /opt/etc.cpio 

备份包还原到相应的位置,如果有相同文件进行覆盖,使用以下命令:

[root@localhost tmp]# cpio -icduv < /opt/etc.cpio

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

(0)
M20_heM20_he
上一篇 2016-09-06
下一篇 2016-09-06

相关推荐

  • 关于 进程和性能监控

            Linux系统状态的查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glance,pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命…

    系统运维 2016-09-11
  • 从shell眼中看世界–展开和引用

    这篇博客的目的在于加深对于展开和引用的理解,阐释展开和引用之间联系。 ‘ ‘ :强引用,其中的变量引用不会被替换为变量值,而保持原字符串       ” “:弱引用,其中的变量引用会被替换为变量值    如果之前对于’ …

    Linux干货 2017-04-16
  • Python内置数据结构

    Python内置数据结构 数值型 Int,float,complex,bool 序列对象 字符串:str  列表:list   数组:tuple 键值对 集合:set    字典:dict 数值型 Int,float,complex,bool都是class,1,5.0,2+3j都是对象即示例 Int:python3的int就是长整形,且没有大小限制,受限于内…

    Linux干货 2018-03-26
  • selinux

    [root@localhost ~]# ll /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 May 10 16:38 /etc/sysconfig/selinux -> ../selinux/config [root@localhost ~]# cat /etc/selinux/confi…

    Linux干货 2017-05-15
  • SHELL中的变量

    SHELL中的变量            运行SHELL脚本中的单个命令自然有用,但这有其自身的限制。通常你会需要在SHELL命令使用其他数据来处理信息。这可以通过变量来实现。变量允许你临时性地将信息存储在SHELL脚本中,以便和脚本中的其他命令一起使用。 1 环境变量…

    Linux干货 2017-04-16
  • 内核编译安装

    编译内核前期准备工作 (1)准备好开发环境 (2)获取目标主机航硬件设备的相关信息 (3)获取目标主机系统功能的相关信息 (4)获取内核源代码包     可以从www.kernel.com上下载 (5)安装好需要使用的包组     Server Platform&nbs…

    Linux干货 2016-09-13