压缩、解压缩及归档工具

压缩、解压缩及归档工具

缩文件的基本原理是查找文件内的重复字节,并建立一个相同字节的"词典"文件,并用一个代码表示,比如在文件里有几处有一个相同的词"中华人民共和国"用一个代码表示并写入"词典"文件,这样就可以达到缩小文件的目的。         ———–百度百科

压缩就是拿时间换空间。            ————————-  马哥

命令行工具

compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar
cpio

compress/uncompress

语法: compress [-选项] [-b maxbits] [file …]

-d: 解压缩,相当于uncompress

-c: 结果输出至标准输出,不删除原文件

-v: 显示详情
uncompress 解压缩
zcat file.Z >file

现在已经基本不用了

gzip / gunzip

语法: gzip [OPTION]… FILE …

  • -d: 解压缩,相当于gunzip

  • -c: 将压缩或解压缩的结果输出至标准输出

– -#:1-9,指定压缩比,值越大压缩比越大,默认为6

zcat:不显式解压缩的前提下查看文本文件内容
实例:

压缩:
    gzip textuser.test
    直接压缩文件,会自动生成与文件名相同的.gz文件

    gzip -c messages >messages.gz
    表示用-c输出重定向到指定文件名中
解压
    gunzip textuser.test.gz
    表示直接解压文件

    gzip -c -d messages.gz > messages
    解压并重定向

    zcat messages.gz > messages
    解压

bzip2/bunzip2/bzcat

语法: bzip2 [选项]… FILE …

  • -k: keep, 保留原文件

  • -d:解压缩

  • -#:1-9,压缩比,默认为6

bzcat:不显式解压缩的前提下查看文本文件内容

xz/unxz/xzcat

语法: xz [选项]… FILE …

  • -k: keep, 保留原文件

  • -d:解压缩

  • -#:1-9,压缩比,默认为6

xzcat: 不显式解压缩的前提下查看文本文件内容

zip/unzip

打包压缩

zip –r sysconfig sysconfig/

解包解压缩

unzip sysconfig.zip

cat /var/log/messages | zip message  -unzip -p message > message

注意:zip/unzip是可以压缩整个目录的 (要加 -r)不过解压缩后不会保留文件原来的属性信息!

tar

功能:打包文件,可以打包并且压缩

语法:

创建归档 -c
展开归档 -x
不展开归档去查看归档中的文件列表 -t

打包与压缩 tar [-j -z -J] [c v] [-f 新建的文件名] 要打包的文件或目录

解压缩    tar  [-j -z -J] [x v] [-f 要解压缩的文件名]  [-C] 指明特定的解压目录

查看文件名 tar [-j -z -J] [t v] [-f 要解压缩的文件名]

选项:

  • -c  :新建打包文件,可搭配-v来查看打包过程

  • -t  :查看打包文件的内容

  • -j  :通过bzip2支持进行压缩或者解压 .bz2

  • -z  :通过gzip支持进行压缩或解压 .gz

  • -J    :通过xz支持进行压缩或解压  .xz

  • -v  :查看过程

  • -Z或–compress或–uncompress:通过compress指令处理备份文件;

  • -f<备份文件>或–file=<备份文件>:指定压缩后的文件名;

  • -C <目录>    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

  • -N <日期格式> 或 –newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;

  • -p或–same-permissions:用原来的文件权限还原文件;

将文件全部打包成tar包:    

tar -c -f /PATH/TO/SOMEFILE.tar FILE…
tar cf  /PATH/TO/SOMEFILE.tar FILE…
    仅打包,不压缩!

tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log2012.log  打包后,以 bzip2 压缩


查阅上述tar包内有哪些文件:

tar -ztvf log.tar.gz


将tar包解压缩:

tar -zxvf /opt/soft/test/log.tar.gz  在预设的情况下,我们可以将压缩档在任何地方


只将tar内的部分文件解压出来:

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
可以透过tar -ztvf来查阅 tar 包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!


文件备份下来,并且保存其权限:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log


在文件夹当中,比某个日期新的文件才备份:

tar -N "2012/11/13" -zcvf log17.tar.gz test

注意tar打包压缩后文件不会保留原来的属组属主,-p也不行,谁解压,解压后的文件就属于谁!

cpio

复制 从或到文件

功能:cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件。

用法:

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

选项

-o 将文件拷贝打包成文件或者将文件输出到设备上

-i 解包,将打包文件解压或将设备上的备份还原到系统

-t 预览,查看文件内容或者输出到设备上的文件内容

-v 显示打包过程中的文件名称。

-d 解包生成目录,在cpio还原时,自动的建立目录

-c 一种较新的存储方式

示例
将etc目录备份:
find ./etc -print |cpio -ov >etc.cpio
内容预览
cpio –tv < etc.cpio
要解包文件
cpio –iv <etc.cpio
cpio –idv < etc.cpio

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

(0)
上一篇 2016-08-18 15:20
下一篇 2016-08-18 15:27

相关推荐

  • 常用的MySQL数据库备份

    常用的MySQL数据库备份方式 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可…

    2015-06-13
  • IoC/DIP其实是一种管理思想

    关于IoC的的概念提出来已经很多年了,其被用于一种面象对像的设计。我在这里再简单的回顾一下这个概念。我先谈技术,再说管理。 话说,我们有一个开关要控制一个灯的开和关这两个动作,最常见也是最没有技术含量的实现会是这个样子: 然后,有一天,我们发现需要对灯泡扩展一下,于是我们做了个抽象类: 但是,如果有一天,我们发现这个开关可能还要控制别的不单单是灯泡的东西,我…

    Linux干货 2016-08-15
  • vim常用快捷键

    1、vim /etc/vimrc进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu      #行号 set tabstop=4  #一个tab为4个空格长度 set ai  #设置自动缩进 syntax on   #高亮   2、基本 空格键 向右移动一格 x 删除后面…

    2017-09-05
  • N25-第二周博客作业

    1.linux上的文件管理命令:   cp命令:copy                 源文件;目标文件;  单源复制:cp [option]… [-T]  SOURCE DEST       &…

    Linux干货 2016-12-12
  • lamp安装配置详细过程(把以前的笔记贴上来)

    准备; 首先进入/usr/local/目录 #cd /usr/local 删除所有安装过的php mysql apache 以及libxml 首先查看目前 /usr/local目录下面的内容 #ls –l 如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下 #rm –…

    Linux干货 2015-05-01
  • grep及正则表达式应用

    grep:文本过滤(模式:pattern)工具 grep家族介绍: grep:标准grep命令,支持标准的正则表达式  BRE  egrep:扩展的grep命令,支持扩展的正则表达式  ERE fgrep:快速的grep命令,不支持正则表达式 grep作用: 文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹…

    Linux干货 2016-07-10