• Linux学习总结(十四) 文件的打包和压缩


    文件的压缩和打包,在windos下我们很熟悉.rar和.zip文件,这是两种压缩文件,他们支持单个文件和多个文件的压缩。windos下我们不提及打包的概念,虽然多个文件的压缩肯定存在打包过程。
    打包和压缩的区别,从字面意思就可以看出,打包是将多个文件捆绑到一起,目的是方便拷贝和传输,压缩通常是对打包后的再处理,目的是节省资源,比如节省网络带宽,提高传输效率。
    从以上结论中,我们就能理解为什么linux会有如此多的打包压缩工具,windos要求操作尽可能简单,linux要求高效和控制力。
    几种打包压缩工具和其文件名后缀对应关系:
    tar ----- .tar
    gzip ------.gz
    bzip2 -----.bz2
    xz --------.xz
    zip -------.zip

    一 对于单个文件的处理:

    介绍三种压缩工具:
    1 gzip 将文件压缩后得到.gz后缀的包,不压缩目录
    格式 gzip filename 
    gzip -d filename.gz 解压缩
    gzip -c filename >> filname.gz 保留原文件压缩
    gzip -dc filename.gz >> filename 保留原文件解压bzi
    2.bzip2
    用法基本和gzip一致,得到一个.bz2后缀的包
    压缩 bzip2 filename
    解压 bzip2 -d filename.bz2 
    3 xz
    压缩 xz filname
    解压 xz -d filename.xz

    二 对于多个文件的处理:

    1.先对文件打包, tar 命令
    -c 创建包
    -v 可视化
    -f 指定文件
    -x 解开包
    格式 tar -cvf filename.tar filename1 filename2
    不想看到过程-v可以不要
    tar -xvf filename.tar 
    -C 可以指定解包路径
    2.结合上面三种压缩方式,可以一并打包压缩
    -z 用gzip压缩
    -j 用bzip2压缩
    -J 用xz压缩
    那么三种打包并压缩的格式就是:
    tar -zcvf filename.tar.gz filename1 filename2
    tar -jcvf filename.tar.bz2 filename1 filename2
    tar -Jcvf filename.tar.xz filename1 filename2
    对应解压格式为:
    tar -zxvf filename.tar.gz
    tar -jxvf filename.tar.bz2
    tar -Jxvf filename.tar.xz
    如果你记不准几种格式的参数,那么解压的时候有种偷懒办法,不带格式,
    tar -xvf filename.tar.gz 或者filename.tar.bz2 或者filename.tar.xz
    系统自动匹配要解压的格式
    3.zip压缩与unzip解压
    该格式的好处是同时支持windos和linux环境,因此要在该两个环境传输文件首选zip压缩
    格式 zip filename.zip filename1 filename2
    filename.zip 带路径就可以指定压缩包的路径
    -r 级联压缩目录
    解压 unzip filename.zip
    -d 指定解压目录
    unzip filename.zip -d /tmp/
    4 几种包的查看
    tar包 tar -tf 查看包内文件列表
    gzip 包 zcat 查看包内文件内容
    bzip2 包 bzcat
    xz包 xzcat
    5.几种工具对比
    gzip bzip2 xz 直接压缩和解压都不保留原文件,除非重定向。
    tar zip 默认保留原文件。压缩后文件大小方比较:
    gzip>bzip2>xz,当然压缩比越高,越耗费计算机资源。
    zip 压缩等同于gzip,只是多了打包功能

  • 相关阅读:
    select,epoll,poll比较(网络资源总结)
    c++(重载、覆盖、隐藏)
    TCP状态转换图
    TCP心跳 | TCP keepAlive
    回车、换行、空格的ASCII码值—(附ASCII码表)
    C++ dlopen mini HOWTO 一篇非常好的介绍
    shell十三问
    linux IPC消息队列 的内核限制
    C++ string 类常用函数
    const用法的解惑
  • 原文地址:https://www.cnblogs.com/aksir/p/9069761.html
Copyright © 2020-2023  润新知