zoukankan      html  css  js  c++  java
  • Linux命令——Linux文件压缩和解压使用记录

    一:tar(可压缩可解压)

    • tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压缩/解压文件功能。
    • 使用tar命令压缩文件的格式是:tar  参数[主选项+辅选项]   '文件或目录 '
    • 参数主选项
      • -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
      • -r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
      • -t 列出档案文件的内容,查看已经备份了哪些文件。
      • -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
      • -x 从档案文件中释放文件。
    • 参数副选项
      • -b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
      • -f 指定档案文件名或设备名,这个选项通常是必选的,此参数必须放在最后,后面跟被压缩或者解压的文件名称。
      • -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
      • -m 在还原文件时,把所有文件的修改时间设定为现在。
      • -M 创建多卷的档案文件,以便在几个磁盘中存放。
      • -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
      • -w 每一步都要求确认。
      • -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
    • 使用方法
      • tar命令可以将文件打包,一般打包文件时我们习惯将打包后的文件后缀设置为.tar
        • 打包:tar -cvf  '生成文件名称'  '被打包的文件或者目录名称'   
          • eg: tar -cvf  'test.bpm.tar' 'test.bpm',在当前目录下得到文件test.bpm.tar
          • eg: tar -cvf  '/home/test.bpm.tar'  'test.bpm',在/home目录写得到文件test.bpm.tar
        • 解包:tar -xvf  '被解包的文件名称' 
          • eg: tar -xvf  'test.bpm.tar',在当前目录下得到文件test.bpm
          • eg: tar -xvf  'test.bpm.tar'  -C '/home/',在/home目录下得到文件test.bpm,解包到其他路径下一定要使用 -C 参数
      • tar命令可以使用参数-z,以gzip方式将文件压缩或者解压。一般打包文件时我们习惯将打包后的文件后缀设置为.tar.gz
        • 压缩文件:tar -czvf '文件或者目录名称' 
          • eg: tar -czvf  'test.bpm.tar.gz' 'test.bpm',在当前目录得到文件test.bpm.tar.gz
          • eg: tar -czvf  '/home/test.bpm.tar.gz'  'test.bpm',在/home目录得到文件test.bpm.tar.gz
        • 解压文件:tar -xzvf  '文件或者目录名称'
          • eg: tar -xzvf  'test.bpm.tar.gz',在当前目录得到文件test.bpm
          • eg: tar -xzvf  'test.bpm.tar.gz' -C  '/home/' ,在home目录得到文件test.bpm
    • 报错提示
      • 打包或者压缩时
        • 报错:谨慎地拒绝创建空归档文件
        • 原因:没有指定打包或者压缩文件后的名称
      • 解包或者解压时
        • 报错:归档中找不到
        • 原因:在指定解包或者解压后文件存放位置时,没有使用 -C 参数,不能够成功指定文件存放位置

    二:gzip和gunzip

    • gzip:将文件压缩为后缀为.gz的文件
      • 使用gzip命令压缩文件的格式是:gzip 参数[选项]  '文件或目录 '
      • 参数
        • -d 解开压缩文件;
        • -c 将输出写到标准输出上,并保留原有文件。
        • -r 递归处理,将指定目录下的所有文件及子目录一并处理
        • -f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
        • -L:显示版本与版权信息;
        • -n:压缩文件时,不保存原来的文件名称及时间戳记;
        • -N:压缩文件时,保存原来的文件名称及时间戳记;
        • -t:测试压缩文件是否正确无误;
        • -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
          • --best:此参数的效果和指定“-9”参数相同;
          • --fast:此参数的效果和指定“-1”参数相同。
      • 栗子
        • 将test.bpm文件压缩到当前目录
          • 方法一:gzip -crf  'test.bpm' > 'test.bpm.gz' 。得到文件test.bpm.gz
          • 方法二:gzip -rf  'test.bpm' 。得到文件test.bpm.gz
          • 注意,以上两种方法的区别是方法一将文件压缩之后,源文件不会消失,但是却需要自己指定压缩后的文件名称;方法二将文件压缩之后,源文件会消失不见,但是却不需要自己指定压缩后的文件名称,会自动生成后缀为 .gz 的和源文件名称相同的文件
        • 将test.bmp文件压缩到指定目录
          • gzip cf  'test.bpm' > '/home/test.bpm.gz'。得到文件test.bpm.gz
    • gunzip:将后缀为.gz文件解压
      • 使用gzip命令压缩文件的格式是:gzip 参数[选项]  '文件或目录 '
      • 参数同gzip相同
      • 栗子
        • 将test.bpm.gz文件解压到当前目录
          • 方法一:gunzip -crf  'test.bpm.gz' > 'test.bpm'。得到文件test.bpm
          • 方法二:gunzip -rf  'test.bpm.gz' 。得到文件test.bpm
          • 注意,以上两种方法的区别是方法一将文件解压之后,源文件不会消失,但是却需要自己指定解压后的文件名称;方法二将文件解压之后,源文件会消失不见,但是却不需要自己指定解压后的文件名称,会自动解压成和源文件名称相同的文件
        • 将test.bpm.gz文件解压到指定目录
          • gunzip -crf  'test.bpm.gz' > '/home/test.bpm'。得到文件test.bpm
    • gzip 使用参数 -d 时,作用等同于gunzip。也就是当解压.gz文件时,使用 gzip -d 对文件进行解压也是一样的。参数设置也是一样的。

    三:zip和unzip

    • 使用zip/unzip命令压缩文件的格式是:zip 参数[选项]  '文件或目录 '
    • zip
      • 参数
        • -c:将解压缩的结果
        • -l:显示压缩文件内所包含的文件
        • -n:解压缩时不要覆盖原有的文件
        • -v:执行是时显示详细的信息
        • -C:压缩文件中的文件名称区分大小写
        • -t:检查压缩文件是否正确
        • -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
      • 栗子
        • 将test.bpm文件压缩到当前目录:zip  -rv 'test.bpm.zip' 'test.bpm'
        • 将test.bpm文件压缩到/home指定目录:zip  -rv '/home/test.bpm.zip'  'test.bpm'
    • unzip
      • 参数
        • -d<目录>:指定文件解压缩后所要存储的目录;
      • 栗子
        • 将test.bpm.gz文件解压到当前目录:unzip  'test.bpm.zip'
        • 将test.bpm文件解压到/home指定目录:zip  '/home/test.bpm.zip'  -d '/home'
  • 相关阅读:
    android 图片全屏
    .9.png
    C++中的endl
    C++输入输出cin与cout
    word-search
    Java中的的画正三角方法
    octave中的一些基本操作
    C#中判断语句 if、if-else if、switch-case
    C#中的异常处理(try-catch的使用)——使程序更加稳定
    编程&blog处女篇-用C#求100以内的质数
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/9120008.html
Copyright © 2011-2022 走看看