您的位置:首页 > 运维架构 > Linux

Linux系统档案与文件系统的压缩与打包

2015-12-26 10:26 711 查看
以下文章基于centos6.5

文章引自:http://www.jb51.net/LINUXjishu/105916.html

一、Linux下常见的压缩指令

  在linux的环境中,压缩文件的扩展名大部分是:[*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2],为什么会有这样的扩展名呢?不是说Linux下的扩展名没有用么?

  这是因为Linux支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件了。所以,当你下载到某个压缩文件时,自然就需要知道该档案是由哪种压缩指令压缩出来的,好用来对照着压缩啊!也就是说,虽然Linux档案的属性基本上是与文件名没有绝对关系的,但是为了帮助记忆,所以适当的扩展名还是有必要的。下面我们就列出几个常见的压缩文件档案扩展名吧。

  *.Z compress程序压缩的档案;

  *.gz gzip程序压缩的档案;

  *.bz2 bzip2程序压缩的档案;

  *.tar tar程序打包的数据,但是没有被压缩过;

  *.tar.gz tar程序打包的数据,并且经过gzip压缩过;

  *.tar.bz2 tar程序打包的数据,并且经过bzip2压缩过;

  Linxu上常见的的压缩的指令是gzip和bzip2,compress已经退出流行了。  

  这个 tar 可以将徆多档案『打包』成为一个档案!甚至是目录也可以这么玩。不过,单纯的tar 功能仅是『打包』而已,亦即是将很多档案集结成为一个档案, 事实上,他并没有提供压缩的功能,后来,GNU 计划中,将整个 tar与压缩的功能结合在一起,如此一来提供使用者更方便并且更强大的压缩与打包功能! 底下我们就来谈一谈这些在 Linux 底下基本的压缩指令吧!

  1.comprss

   已经退出流行了。

  2.gzip与zcat

  gzip 可以说是应用度最广的压缩指令了!目前 gzip 可以解开 compress, zip与gzip 等软件所压缩的档案。 至于 gzip所建立的压缩文件为 *.gz 的档案名喔!让我们来看看这个指令的用法吧:

  


  与 compress 类似的,当你使用 gzip 进行压缩时,在预设的状态下原本的档案会被压缩成为 .gz 的档名, 源文件就不再存在了。您也可以发现,由于 gzip 的压缩比要比 compress 好的多,所以当然建议使用 gzip 啦! 此外,使用 gzip 压缩的档案在 Windows 系统中,竟然可以被 WinRAR 这个软件解压缩呢!很好用吧!至于其他的用法如下:

  


  其他范例:

  1.Linux压缩保留源文件的方法:
    gzip –c filename > filename.gz
  2.Linux解压缩保留源文件的方法:
    gzip –c filename.gz > filename

   其实 gzip 的压缩已经优化过了,所以虽然 gzip 提供 1~9 的压缩等级,不过使用默认的6 就非常好用了! 因此上述的范例四可以不要加入那个 -9 的选顷。范例四的重点在那个 -c 与 > 的使用啰!

  cat 可以读取纯文本档,那个 zcat 则可以读取纯文本档被压缩后的压缩文件! 由于gzip 这个压缩指令主要想要用来取代 compress 的,所以不但 compress 的压缩文件案可以使用 gzip 来解开,同时 zcat 这个指令可以同时读取 compress与gzip 的压缩文件呦!

  3.bzip2

  4.zip和unzip

  在终端中数据zip和unzip来检查当前linux中是否安装了zip和unzip程序,如下表明安装了zip和unzip:

  


  


  如果没有安装,使用以下命令安装:

  yum install zip;

  yum install unzip;

  解压缩文件范例:

  1、把/home目录下面的mydata目录压缩为mydata.zip
    zip -r mydata.zip mydata #压缩mydata目录
  2、把/home目录下面的mydata.zip解压到mydatabak目录里面
    unzip mydata.zip -d mydatabak
  3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
    zip -r abc123.zip abc 123.txt
  4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
    unzip wwwroot.zip
  5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
    unzip abc\*.zip
  6、查看把/home目录下面的wwwroot.zip里面的内容
    unzip -v wwwroot.zip
  7、验证/home目录下面的wwwroot.zip是否完整
    unzip -t wwwroot.zip
  8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
    unzip -j wwwroot.zip

  主要参数

    -c:将解压缩的结果
    -l:显示压缩文件内所包含的文件
    -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
    -t:检查压缩文件是否正确
    -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
    -v:执行是时显示详细的信息
    -z:仅显示压缩文件的备注文字
    -a:对文本文件进行必要的字符转换
    -b:不要对文本文件进行字符转换
    -C:压缩文件中的文件名称区分大小写
    -j:不处理压缩文件中原有的目录路径
    -L:将压缩文件中的全部文件名改为小写
    -M:将输出结果送到more程序处理
    -n:解压缩时不要覆盖原有的文件
    -o:不必先询问用户,unzip执行后覆盖原有文件
    -P:使用zip的密码选项
    -q:执行时不显示任何信息
    -s:将文件名中的空白字符转换为底线字符
    -V:保留VMS的文件版本信息
    -X:解压缩时同时回存文件原来的UID/GID

  5.tar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: