博客
关于我
linux命令:压缩解压打包工具大集合
阅读量:794 次
发布时间:2023-02-03

本文共 2043 字,大约阅读时间需要 6 分钟。

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

一、压缩、解压工具

  • compress

    • 压缩文件,会删除原来文件,生成压缩文件。
    • 格式:.Z
    • 解压:-d 解压文件,会删除压缩文件,生成原来文件(不能tab补齐)。
    • zcat X.Z > X 将解压结果打印到屏幕上,配合重定向,将解压的结果导入到.X压缩文件中,不删除原文件,生成压缩文件,但因为>生成新文件,权限会变。
    • 强制压缩:-f,默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1。
    • 显示详细过程:-v。
  • gzip

    • 压缩文件,会删除原来文件,生成压缩文件。
    • 格式:.gz
    • 解压:-d 解压文件,会删除压缩文件,生成原来文件(能tab补齐)。
    • zcat X.gz > X(原理同上compress)。
    • 强制压缩:-f(原理同上compress)。
    • 显示详细过程:-v。
    • 压缩比:-#数字越大,压缩比越高,速度越慢,文件越小。
    • -1等于--fast,-6(default默认),-9等于--best。
  • bzip2

    • 压缩文件,会删除原来文件,生成压缩文件。
    • 格式:.bz2
    • 解压:-d 解压文件,会删除压缩文件,生成原来文件(能tab补齐)。
    • bzcat X.gz > X(原理同上compress)。
    • 保留原文件压缩、解压:-k比compress,gzip多出的用法。
    • 强制压缩:-f(原理同上compress)。
    • 显示详细过程:-v。
    • 压缩比:-#数字越大,压缩比越高,速度越慢,文件越小。
    • -1等于--fast,-9等于--best(default默认)。
  • xz

    • 压缩文件,会删除原来文件,生成压缩文件。
    • 格式:.xz
    • 解压:-d 解压文件,会删除压缩文件,生成原来文件(能tab补齐)。
    • xzcat X.gz > X(原理同上compress)。
    • 保留原文件压缩、解压:-k比compress,gzip多出的用法。
    • 强制压缩:-f(原理同上compress)。
    • 显示详细过程:-v。
    • 压缩比:-#数字越大,压缩比越高,速度越慢,文件越小。
    • -1等于--fast,-6(default默认),-9等于--best。
  • 比较:压缩比:xz > bzip2 > gzip > compress(不一定,有的情况bzip2比xz要好)。


    二、打包工具 zip tar

  • zip

    • 打包压缩(自动生成后缀.zip)。
    • ① zip -r app app/ 生成文件(自动生成.zip),打包文件(目录,普通文件都行)。
    • ② zip -r - comment | zip 生成文件(自动生成.zip),-这种方式打包,只能unzip -p X.zip > X 解包。
    • 解包解压缩:unzip X.zip。
    • 解压缩预览:unzip -p X.zip > X。
  • tar

    • -f 包名,所有用法都要和-f组合。
    • -c -f 创建包名字原文件(可以指定多个)。
    • -t -f 包名字显示包中的文件名。
    • -tv -f详细显示包中的文件名。
    • -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被分隔出的多个文件名 >单个文件名合并。

  • 三、cpio(不常用)

    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。

    转载地址:http://vlzfk.baihongyu.com/

    你可能感兴趣的文章
    linux如何提取文件名称,Linux系统中获取路径的文件名的方法
    查看>>
    linux如何查看安装了哪些软件
    查看>>
    Linux学习 - 文件系统常用命令
    查看>>
    Linux学习--第一天--Unix 、 Linux 发展史,Linux应用领域
    查看>>
    Linux学习--第七天--用户和用户组
    查看>>
    Linux学习--第三天--linux文件目录、ls、mkdir、mv、rm、touch、cat、tac、more、less、head、tail、ln、chmod、chown、chgrp、umask
    查看>>
    Linux学习--第九天--du、df、fsck、dumpe2fs、mount、NTFS-3G、fdisk、partprobe、/etc/fstab、free、mkswap、swapon
    查看>>
    Linux学习--第二天--分区、格式化、系统安装、vmware、远程管理工具
    查看>>
    Linux学习--第五天--vim使用、rpm命令
    查看>>
    Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo
    查看>>
    Linux学习--第六天--软件包
    查看>>
    Linux学习--第十一天--source、环境变量目录、欢迎信息、正则、cut、awk、sed、sort、判断表达式、if、for、case、一些脚本
    查看>>
    Linux学习--第十三天--日志、系统运行级别、grub加密
    查看>>
    Linux学习--第十二天--服务、ps、top、pstree、kill、&、jobs、fg、vmstat、dmesg、free、uptime、uname、crontab、ls
    查看>>
    Linux学习--第十天--bash脚本、用户自定义变量、环境变量、位置参数变量、预定义变量、标准输入输出、wc、history、dd、PS1
    查看>>
    Linux学习--第四天--find、locate、帮助命令、grep、who、w、压缩命令、网络命令、mount
    查看>>
    Linux学习—部署yum网络仓库
    查看>>
    Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置
    查看>>
    Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②
    查看>>
    Linux学习之sed命令详解
    查看>>