linux中文件压缩介绍

原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/1c62bb7f-f817-427f-b9e8-0c3107b4b26c

 
linux中文件压缩的简单介绍
  1.  *.zip文件,表示 zip程序打包压缩的文件
  2.  *.rar文件,表示rar程序压缩的文件
  3.  *.tar文件,表示tar程序打包 未压缩的文件
命令:
  1.  zip -r -q -o shiyanlouCode.zip /home/shiyanlou/Code 
  2. (-r表示递归打包子目录的全部内容,-q 表示安静模式,即不向页面输出信息,-o 表示输出文件,需要再其后面紧跟打包输出文件的文件名(不写也可以),shiyanlouCode.zip 表示打包后输出的文件名称,/home/shiyanlou/Code 表示所要打包的对象路径(绝对路径),此处表示将home下的shiyanlou文件夹下Code文件下的所有文件打包。且打包后的生成名称为shiyanlouCode.zip)
  3. 此处打包时,需要注意并清楚的是,生成后的文件(linux下应该叫做输出后的文件)包,所在的目录是此时当前打包时,用户所在的目录。即此时如果是在/home文件夹下执行的该打包命令,则Code目录中文件压缩后将会把所生成的压缩包放置到此时的同等目录中,即此时的/home文件夹中便会多出一个的对应的shiyanlouCode.zip的压缩包文件。
  4.  如果想指定生成文件的文件目录以及生成后的文件的名称,则只需要在 -o 后对应的输出文件名更改为路径+文件名的形式即可。(如:-o /home/shiyanlou/Code/shiyanlouCode.zip)则表示生成后的压缩文件路径和名称为/home/shiyanlou/Code文件夹下,文件名称为shiyanouCode.zip,此时便可以 无需理会自己本身现在所处于的文件路径了,只需要指定文件的输出目录即可啦,
  5.  du -h shiyanlou.zip ,表示查看当前所指定文件的大小(也可指定文件夹查看 或 某一文件查看)
  6.  file shiyanlou.zip 表示查看当前文件的类型
压缩时过滤掉不需要压缩的文件:
  1.   zip -r -q -o code.zip /home/shiyanlou/Code -x /home/shiyanlou/Code/*.txt
  2.   -x 表示指定需要过滤的文件目录 或指定文件目录下的文件类型的过滤
  3.   表示压缩Code目录中的文件,但过滤掉后缀为txt文件
  4.   zip -r -q -o code.zip /home/shiyanlou/Code -x /home/shiyanlou/Code/*.txt  -x /home/shiyanlou/Code/*.java 此时表示过滤掉Code下的*.txt文件以及Code下的*.java文件
  5. 上述 4 则为同时指定过滤多个文件类型时的写法
  6. zip -r -q -o code.zip /home/shiyanlou/Code -x /home/shiyanlou/Code/CodeTwo 则表示过滤掉Code目录下的CodeTwo目录,如需要同时再过滤指定的类型文件则按照上述 4 中所书写的方式向后延伸添加 -x /home/shiyanlou/Code/*.txt 等即可,即表示在压缩Code目录时,过滤Code目录下的CodeTwo目录,以及Code目录下的*.txt文件。不添加到压缩文件当中。
  7.   ~/ 表示当前用户的目录
  8.  ./ 表示执行,也表示当前目录
  Linux解压缩:
  1.  unzip -l (表示小写L) **.zip   表示查看当前该zip压缩包中的文件目录内容;
  2.  unzip -q -o **.zip -d /home 压缩**.zip文件到/home下,-o表示表示解压缩文件时直接覆盖原有的文件  -q 表示执行时不显示任何信息,安静模式; 
  3.  unzip -q -n **.zip -d /home  ,,-n表示解压缩时不覆盖任何文件
原文地址:https://www.cnblogs.com/zh94/p/11922852.html