• linux命令:压缩解压打包工具大集合


    压缩、解压缩及归档工具有很多,今天小编就整理几个大家较为常用的。

    compress  gzip  bzip2  xz  

    zip tar cpio

    一、压缩、解压工具

              用法

    压缩

    工具

    压缩后

    压缩包格式

    解压缩

    (默认不保留源文件)

    保留原文件压缩

    -c :将压缩结果打印到屏幕上

    保留压缩文件解压

    *zcat :将解压结果打印到屏幕上

    强制压缩(默认不压缩硬链接)

    显示详细过程

    压缩比

    -#(数字越大,压缩比越高,速度越慢

    文件越小)

    compress

    (压缩比最小,文件最大)

    .Z

    -d

    uncompress

    -c > X

    (>相当于创建文件,权限改变)

    zcat X.Z > X

    (>相当于创建文件,权限改变)

    -f

    -v

    gaip

    .gz

    -d

    gunzip

    -c > X

    zcat X.gz > X

    -f

    -v

    -1  --fast

    -6 (默认)

    -9  --best

    bzip2

    .bz2

    -d

    bunzip

    -c > X

    -k (权限不变)

    bzcat X.gz > X

    -k

    -f

    -v

    -1  --fast

    -9 --best

     (默认)

    xz

    (压缩比最大,文件最小)

    .xz

    -d

    -c > X

    -k(权限不变)

    xzcat X.gz > X

    -k

    -f

    -v

    -1  --fast

    -6 (默认)

    -9  --best

    1compress   压缩文件,会删除原来文件,生成压缩文件

    格式 : .Z

    解压 : -d   解压文件,会删除压缩文件,生成原来文件 (不能tab补齐)

        uncompress  和-d一样 (能tab补齐)

    zcat X.Z > X    zcat X.Z  将解压结果打印到屏幕上,配合重定向,将解压的结果导入到 .Z压缩文件中,不删除原文件,生成压缩文件,但因为>生成新文件,权限会变。

    显示结果: -c  将压缩结果打印到屏幕上,配合重定向,将压缩的结果导入到 .Z压缩文件中,不删除原文件,生成压缩文件,但因为>生成新文件,权限会变。(可以对硬链接数为2的文件压缩)

    强制压缩: -f   默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.

    显示详细过程:-v 

     

     

    2gzip   压缩文件,会删除原来文件,生成压缩文件

    格式 : .gz

    解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

        gunzip 和-d一样

    zcat X.gz > X   (原理同上compress)

    显示结果: -c  (原理同上compress)

    强制压缩: -f   (原理同上compress)

    显示详细过程:-v 

    压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

      -1 等于 --fast

      -2,3,4,5,6(default默认),7,8

      -9 等于 --best

     

    3bzip2   压缩文件,会删除原来文件,生成压缩文件

    格式 : .bz2

    解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

        bunzip2 和-d一样

    bzcat X.bz2 > X   (原理同上compress)

    保留原文件压缩、解压: -k  比compress,gzip 多出的用法

    显示结果: -c  (原理同上compress)

    强制压缩: -f   (原理同上compress)

    显示详细过程:-v 

    压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

      -1 等于 --fast

      -2,3,4,5,6,7,8

      -9 等于 --best (default默认)

     

    4xz   压缩文件,会删除原来文件,生成压缩文件

    格式 : .xz

    解压 : -d   解压文件,会删除压缩文件,生成原来文件(能tab补齐)

    xzcat X.gz > X   (原理同上compress)

    保留原文件压缩、解压: -k  比compress,gzip 多出的用法

    显示结果: -c  (原理同上compress)

    强制压缩: -f   (原理同上compress)

    显示详细过程:-v 

    压缩比: -# 数字越大,压缩比越高,速度越慢,文件越小。

      -1 等于 --fast

      -2,3,4,5,6(default默认),7,8

      -9 等于 --best

     

    比较 :  压缩比:xz > bzip2 > gzip > compress(不一定,有的情况bzip2 比xz要好)

             xz 压缩比最大,文件最小

     

    二、打包工具 zip tar

    (1)zip

    打包压缩(自动生成后缀.zip)

    ①  zip –r  生成文件(自动生成.zip)  打包文件(目录,普通文件都行)

         例:zip -r app app/

    ②  comment | zip  生成文件(自动生成.zip) -

                这种方式打包,只能unzip -p X.zip > X 解包

                例:cat /var/log/messages | zip messages -

                       unzip -p message.zip > message

    解包解压缩

    unzip X.zip

    unzip -p 预览解压缩后的内容到屏幕,可以配置重定向将结果保存到指定文件,权限会发生变化。

     

    2tar 

        -f 包名,所有用法都要和-f组合

      -c -f 创建包名字  原文件(可以指定多个)

      -t -f 包名字   显示包中的文件名

      -tv -详细显示包中的文件名

      -r -f 包名字 新文件名(可以指定多个),向包里放指定文件

      --delete -f 包名字 被删除的文件名(可以指定多个),从包中删除指定文件

      -x -f 包名字 解出所有的文件到当前目录,把包中所有文件移出,解压包

      -x -f 包名字 文件名 解所指定的文件到当前目录,从包中移出指定文件

      -C 解包到指定目录

      -v 详细信息

      -Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩

      -jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩

      -zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩

      -T 指定个列表,包含需要被打包的文件,以换行符为间隔

      -X 指定个排除列表,以换行符为间隔

     split –b Size –d tar-file-name prefix-name 将tar包分隔为多个文件

     cat 被分隔出的多个文件名 > 单个文件名  合并

     

     

    3cpio(不常用)

    cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件。

    cpio [ 选项] >  文件名或者设备名

    cpio [ 选项] <  文件名或者设备名

    选项

      -o  将文件拷贝打包成文件或者将文件输出到设备上

      -i  解包,将打包文件解压或将设备上的备份还原到系统

      -t  预览,查看文件内容或者输出到设备上的文件内容

      -v  显示打包过程中的文件名称。

      -d  解包生成目录,在cpio 还原时,自动的建立目录

      -c 一种较新的存储方式

     例:将etc 目录备份 find ./etc -print |cpio -ov >etc.cpio

      内容预览   cpio –tv < etc.cpio

      要解包文件  cpio –idv < etc.cpio

  • 相关阅读:
    golang 引用相对路径package
    LiteIDE 在 Windows 下为 Go 语言添加智能提示代码补全
    C#代码实现把网页文件保存为mht文件
    AE开发中关于 “无法嵌入互操作类型.........请改用适用的接口”问题的解决方法
    Windows下visual studio code搭建golang开发环境
    Eclipse配置开发Go的插件——Goclipse
    go语言条件语句 if else
    Go语言基础:method
    GO语言基础之method
    go中的接口
  • 原文地址:https://www.cnblogs.com/haiyabtx/p/7843511.html
Copyright © 2020-2023  润新知