Linux压缩打包day15

作者: 静如止水yw | 来源:发表于2019-08-13 16:20 被阅读0次

    1.文件打包与压缩
    2.gzip打包与压缩
    3.zip打包与压缩
    4.tar打包与压缩


    一、文件打包与压缩


    1.什么是文件压缩
    文件压缩就是指将多个文件或目录合并成为一个特殊的文件。
    2.为什么要对文件进行压缩

    • 减小文件的体积
    • 加快资源的传输
    • 节省网络的带宽

    3.Windows的压缩包与Linux的压缩包能否互通

    • Windows:rar zip其实支持很多类型的压缩
    • Linux:zip tar.gz
    • Windows与Linux互通常用的是zip

    4.Linux下压缩包有哪些常见的类型

    格式 压缩工具
    .zip zip压缩工具
    .gz gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
    .bz2 bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
    .tar.gz 先使用tar命令归档打包,然后使用gzip压缩
    .tar.bz2 先使用tar命令归档打包,然后使用bzip压缩

    二、gzip打包与压缩


    • 1)gzip打包与压缩,仅对文件有效
    gzip  filename          打包
    gzip -d filename.gz     解包
    zcat filname.gz         查看包内文件的内容
    
    # 使用场景:当需要让某个文件快速关闭和快速启用.
    [root@wyw ~]# gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
    [root@wyw ~]# zcat CentOS-Vault.repo.gz   --> 查 看不想解压的压
    

    三、zip打包与压缩


    默认情况下没有zip和unzip工具,需要进行安装
    [root@wyw ~]# yum install zip unzip -y
    # 1.压缩文件为zip包
        使用方法:zip filename.zip filename        压缩包
                 unzip  -l  filename.zip          查看包内容
    # 2.压缩目录为zip包
    zip -r dir.zip dir/       -r   递归
    # 3.查看zip压缩包是完整的
    zip    -T    filename.zip   
    test  of  filename.zip OK
    # 4.不解压压缩查看压缩包中的内容
    unzip -l filename.zip
    unzip -t filename.zip        检测文件是否都OK
    # 5.解压zip文件包,默认解压至当前目录
    unzip filename.zip
    # 解压zip内容至/tmp /opt等目录下
    unzip filename.zip -d /opt/ 
    # 7.打包
    zip -r 、/tmp/test.zip file dir/
    # 8. 解包
    unzip tt.zip
    unzip tt.zip -d 、/opt
    

    四、tar打包与压缩


    tar是Linux下最常用的压缩与解压缩,支持文件和目录的压缩与归档

    • tar的基本语法
    tar  [-zjxvcfpP]  filename
    c      创建新的归档文件
    x      对归档文件解包
    t      列出归档文件里的文件列表
    v      输出命令的归档或解包的过程
    f      指定包文件名,多参数f写最后
    z      使用gzip压缩归档后的文件(.tar.gz)
    j      使用bzip2压缩归档后的文件(.tar.bz2)
    J      使用xz归档后的文件(tar。xz)
    X      排除多个文件(写入需要排除的文件名称)
    h      打包软链接
    --hard-dereference       打包硬链接
    --exclude           在打包的时候写入需要排除文件或目录
    
    # 常用打包与压缩组合
    czf      打包tar.gz格式
    cjf      打包tar.bz格式
    cJf      打包tar.xz格式
    zxf      解压tar.gz格式
    jxf      解压tar.bz格式
    xf       自动选择解压模式
    tf       查看压缩包内容
    
    • 1)将文件或目录进行打包压缩
    1.以gzip归档方式打包并压缩
    [root@wyw ~]# tar czf test.tar.gz test/ test1/
    2.以bz2方式压缩
    [root@wyw ~]# tar cjf test.tar.bz2 fir.txt dir/
    3.打包连接文件,打包链接文件的真实文件
    [root@wyw ~]# cd /
    [root@wyw /]# tar czfh local1.tar.gz etc/rc.local
    4.打包/tmp下所有文件
    [root@wyw ~]# cd /
    [root@wyw /]# find tmp/ -type f | xargs tar czf tmp.tar.gz  ——第一种方法
    [root@wyw /]# tar czf tmp.tar.gz $(find /tmp/ -type f) ——第二种方法
    
    • 2)排除文件,并打包压缩
    1.排除单个文件
    [root@wyw /]# tar czf etc.tar.gz --exclude=etc/services etc/
    2.排除多个文件
    [root@wyw /]# tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local etc/
    3.将需要排除的文件写入文件中
    [root@wyw /]# echo /etc/services etc/rc.local etc/rc.d/rc.local >>pc.list
    [root@wyw /]# cat pc.list
    /etc/services 
    etc/rc.local 
    etc/rc.d/rc.local
    指定需要排除的文件列表,最后进行打包压缩
    [root@wyw /]# tar czfX etc.tar.gz pc.list etc/
    
    • 3)查看压缩文件
    查看压缩包内容和解压
    [root@wyw /]# tar tf etc.tar.gz
    
    • 4)解压缩文件
    1.解压至当前目录
    [root@wyw /]# tar xf etc.tar.gz
    2.将解压内容存储至指定的/tmp目录
    [root@wyw ~]# tar xf /etc.tar.gz -C /tmp
    
    • 5)tar命令练习
    下载mariadb-server,创建环境准备
    [root@wyw tmp]# yum install mariadb-server -y
    [root@wyw tmp]# systemctl start mariadb
    [root@wyw tmp]# mkdir /backup
    例1:mysql备份及恢复
    [root@wyw tmp]# tar cJf /backup/myaql.tar.xz /var/lib/mysql
    [root@wyw tmp]# tar xf /backup/myaql.tar.xz -C /tmp
    例2:mysql备份及恢复
    [root@wyw ~]# cd /var/lib/mysql/
    [root@wyw mysql]# tar cJf /backup/myaql.tar.xz *
    [root@wyw mysql]# tar tf /backup/myaql.tar.xz
    [root@wyw mysql]# tar xf /backup/myaql.tar.xz -C /var/lib/mysql/
    

    相关文章

      网友评论

        本文标题:Linux压缩打包day15

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