zoukankan      html  css  js  c++  java
  • Linux之解压与压缩

    一、介绍

    linux下一般使用的压缩类型有以下几种:

     注意:widows和linux互通的压缩包只有zip类型,linux不支持rar类型的,widows支持linux所有压缩类型

    二、基本命令

    1、gzip(gz类型)

    注意:gzip只能压缩文件,不能压缩文件夹,压缩文件夹,只会把文件夹下的文件进行压缩,压缩好后会把原来的文件删除

    '''
    ------命令格式-------
    gzip options filename
    ------options参数--------
    -a  使用ASCII文字模式。
    -c  把压缩后的文件输出到标准输出设备,不去更动原始文件。
    -d  解开压缩文件。
    -f  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
    -l  列出压缩文件的相关信息。
    -L  显示版本与版权信息。
    -n  压缩文件时,不保存原来的文件名称及时间戳记。
    -N  压缩文件时,保存原来的文件名称及时间戳记。
    -q  不显示警告信息。
    -r  递归处理,将指定目录下的所有文件及子目录一并处理。
    -S<压缩字尾字符串>  更改压缩字尾字符串。
    -t  测试压缩文件是否正确无误。
    -v  显示指令执行过程。
    -V 显示版本信息。
    -<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
    --best  此参数的效果和指定"-9"参数相同。
    --fast  此参数的效果和指定"-1"参数相同。
    '''
    [root@VM-4-16-centos /home/test]#gzip file  #压缩文件file
    [root@VM-4-16-centos /home/test]#ls
    file1  file.gz
    [root@VM-4-16-centos /home/test]#gzip -9 file  #90%压缩率压缩文件file
    [root@VM-4-16-centos /home/test]#gzip -1 file1 #10%压缩率压缩文件file
    [root@VM-4-16-centos /home/test]#gzip -dv file1
    file1.gz:      2.7% -- replaced with file1
    [root@VM-4-16-centos /home/test]#gzip -dv file
    file.gz:     91.4% -- replaced with file

      [root@VM-4-16-centos /home/test]#gzip -d file1.gz #解压file1.gz

    2、zip(zip类型)

    zip支持文件和文件夹打包压缩。

    # zip options 压缩后文件名 压缩文件
    '''
    -A 调整可执行的自动解压缩文件。
    -b<工作目录> 指定暂时存放文件的目录。
    -c 替每个被压缩的文件加上注释。
    -d 从压缩文件内删除指定的文件。
    -D 压缩文件内不建立目录名称。
    -f 更新现有的文件。
    -F 尝试修复已损坏的压缩文件。
    -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
    -q 不显示指令执行过程。
    -r 递归处理,将指定目录下的所有文件和子目录一并处理。
    -T 检查备份文件内的每个文件是否正确无误。
    -v 显示指令执行过程或显示版本信息。
    -z 替压缩文件加上注释。
    -<压缩效率> 压缩效率是一个介于1-9的数值。
    '''
    [root@VM-4-16-centos /home]#zip test.zip test/   #压缩zip文件
      adding: test/ (stored 0%)
    [root@VM-4-16-centos /home]#unzip test.zip -d /home/test2/  #将zip文件解压到test2下
    Archive:  test.zip
       creating: /home/test2/test/
    [root@VM-4-16-centos /home]#unzip -l test.zip  #不解压,查看压缩包内文件
    Archive:  test.zip
      Length      Date    Time    Name
    ---------  ---------- -----   ----
            0  01-11-2021 19:56   test/
    ---------                     -------
            0                     1 file

    3、tar

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

    #语法:tar [-zjxcvfpP] filename 
    c   #创建新的归档文件
    x   #对归档文件解包
    t   #列出归档文件里的文件列表
    v   #输出命令的归档或解包的过程
    f   #指定包文件名,多参数f写最后
    
    z   #使用gzip压缩归档后的文件(.tar.gz)
    j   #使用bzip2压缩归档后的文件(.tar.bz2)
    J   #使用xz压缩归档后的文件(tar.xz)
    C   #指定解压目录位置
    X   #排除多个文件(写入需要排除的文件名称)
    h   #打包软链接
    --hard-dereference  #打包硬链接
    --exclude   #在打包的时候写入需要排除文件或目录
    
    #常用打包与压缩组合
    czf     #打包tar.gz格式 常用
    cjf     #打包tar.bz格式 不怎么用
    cJf     #打包tar.xz格式 不考虑
    
    zxf     #解压tar.gz格式
    jxf     #解压tar.bz格式
    xf      #自动选择解压模式
    xvf     #显示解压过程
    tf      #查看压缩包内容

    (1)tar + gzip 打包压缩

    #1、压缩 tar czf 压缩后名字 文件名
    [root@VM-4-16-centos /home/nq]#tar czf test.tar.gz test/
    [root@VM-4-16-centos /home/nq]#ls
    test  test.tar.gz
    #2、解压 tar zxf 解压文件名
    [root@VM-4-16-centos /home/nq]#tar zxf test.tar.gz

    (2)tar +bzip2 打包压缩

    #1、解压命令:tar jxf 解压文件名
    [root@VM-4-16-centos /home/nq]#tar jxf test.tar.bz2
    #2、压缩命令:tar cjf 压缩后名字 文件名
    [root@VM-4-16-centos /home/nq]#tar cjf test.tar.bz2 test
    [root@VM-4-16-centos /home/nq]#ls
    test  test.tar.bz2  test.tar.gz

    (3)排除文件压缩和查看压缩内容

    # 1、压缩排除passwd文件
    [root@VM-4-16-centos /home/nq]#tar czf excu.tar.gz --exclude=test/passwd test/
    # 2、查看压缩内容
    [root@VM-4-16-centos /home/nq]#tar tf excu.tar.gz
    test/
    test/test2
    test/proxy.conf
    test/test.txt
    test/test2.txt
    test/proxy1
    
    # 3、以文件形式排除多个文件,进行压缩
    [root@VM-4-16-centos /home/nq]#cat paichu.list
    test/passwd
    test/proxy.conf
    test/proxy1
    [root@VM-4-16-centos /home/nq]#tar czfX etc.tar.gz paichu.list test/
    [root@VM-4-16-centos /home/nq]#tar tf etc.tar.gz
    test/
    test/test2
    test/test.txt
    test/test2.txt
  • 相关阅读:
    centos7 安装jmeter5.1
    centos7 安装jdk1.8
    es6学习笔记(一)环境搭建
    Django-filter报错:__init__() got an unexpected keyword argument 'name'
    django fields lookup methods(lookup类型)
    django笔记-model
    Git-简单使用
    jenkins-master-slave节点配置总结
    Git-简单使用
    MySQL explain详解
  • 原文地址:https://www.cnblogs.com/nq31/p/14260074.html
Copyright © 2011-2022 走看看