linux的打包与解压

  • zip:
    • 打包 :zip something.zip something (目录请加 -r 参数)
    • 解包:unzip something
    • 指定路径:-d 参数
    • 创建加密 zip 包
    • 使用 -e 参数可以创建加密压缩包:

      $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
      

      注意: 关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:

      $ zip -r -l -o shiyanlou.zip /home/shiyanlou
      

      需要加上 -l 参数将 LF 转换为 CR+LF 来达到以上目的。

    • 注意: 使用 unzip 解压文件时我们同样应该注意兼容问题,不过这里我们关心的不再是上面的问题,而是中文编码的问题,通常 Windows 系统上面创建的压缩文件,如果有有包含中文的文档或以中文作为文件名的文件时默认会采用 GBK 或其它编码,而 Linux 上面默认使用的是 UTF-8 编码,如果不加任何处理,直接解压的话可能会出现中文乱码的问题(有时候它会自动帮你处理),为了解决这个问题,我们可以在解压时指定编码类型。

      使用 -O(英文字母,大写 o)参数指定编码类型:

      unzip -O GBK 中文压缩文件.zip
      
  • tar:
    • 打包:tar -zcvf something.tar something (-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名)
    • 解包:tar -zxvf something.tar (解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):tar -xf shiyanlou.tar -C tardir)
    • 指定路径:-C 参数
      • 对于创建不同的压缩格式的文件,对于 tar 来说是相当简单的,需要的只是换一个参数,这里我们就以使用 gzip 工具创建 *.tar.gz 文件为例来说明。

        • 我们只需要在创建 tar 文件的基础上添加 -z 参数,使用 gzip 来压缩文件:
        • tar -czf shiyanlou.tar.gz ~
        • 解压 *.tar.gz 文件:
        •  tar -xzf shiyanlou.tar.gz
原文地址:https://www.cnblogs.com/ncuhwxiong/p/7573153.html