美文网首页
Linux 打包、压缩

Linux 打包、压缩

作者: _小毛驴 | 来源:发表于2021-04-05 16:01 被阅读0次

    首先,弄清楚两个概念:打包和压缩。
    打包:将一大堆文件或目录变成一个总的文件。
    压缩:将一个大的文件通过一些压缩算法变成一个小的文件。
    为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

    打包

    1. tar(英文全拼:tape archive )
    • 语法:tar [主选项+辅选项] 文件或目录
      使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
      主选项:【一条命令以下5个参数只能有一个】
      -c: --create 新建一个压缩文档,即打包
      -x: --extract,--get解压文件
      -t: --list,查看压缩文档里的所有内容
      -r:--append 向压缩文档里追加文件
      -u:--update 更新原压缩包中的文件
      辅助选项:
      -z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
      -j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
      -v:显示操作过程!这个参数很常用
      -f:使用文档名,注意:在f之后要立即接文档名,不要再加其他参数!
      -C:切换到指定目录
      --exclude FILE:在压缩过程中,不要将FILE打包
    • 习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
    # 将img1和img2两个文件夹打包成img.tar,仅打包不压缩
    > tar -cvf img.tar img1 img2
    # 将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩
    > tar -zcvf img.tar.gz img1/ img2/
    # 将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩
    > tar -jcvf img.tar.bz2 img1 img2
    # 不解压的情况下查看img.tar中的所有内容
    > tar -tf img.tar
    # 不解压的情况下查看img.tar中的所有内容(包括文件的详细内容)
    > tar -vtf img.tar
    # 将img.tar解压到temp目录
    > cd temp/
    > tar -xf img.tar
    # 只解压img.tar中的img1
    > tar -xf ../img.tar img1
    

    压缩

    上面的tar命令既可以打包,同时也实现了压缩的功能。

    相关文章

      网友评论

          本文标题:Linux 打包、压缩

          本文链接:https://www.haomeiwen.com/subject/esgskltx.html