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


    以下文章基于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

  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/machanghai/p/5077659.html
Copyright © 2020-2023  润新知