zoukankan      html  css  js  c++  java
  • Linux-压缩/解压缩命令

    Linux系统中常见的压缩包格式

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

    gzip 压缩命令

    1.gzip只能压缩文件,不能压缩目录
    2.gzip压缩文件之后,源文件会消失
    3.gzip解压文件之后,压缩包会消失
    4.gzip压缩文件,后面可以跟多个文件名,但每个文件单独压缩
    5.使用zcat可以查看压缩包中文件的内容
    6.源文件和压缩包在同路径下

    # 单个文件压缩
    [root@localhost ~]# gzip file1
    
    # 多个文件压缩
    [root@localhost ~]# gzip file2 file3
    
    # 解压
    [root@localhost ~]# gzip -d file1.gz
    
    # 查看文件类型
    [root@localhost ~]# file file1.gz
    

    zip 压缩命令

    1.压缩文件,源文件不消失
    2.zip解压后,如果目录下存在和压缩包内相同的文件,询问是否覆盖
    3.zip压缩目录,如果不加选项,只能打包空目录,除非加-r
    4.如果打包的绝对路径,那么会把绝对路径的内容全部打包进去,但删除/,
    在哪个目录下执行压缩,就在哪个目录下打包,解压缩的时候,也会在当前目录下解压
    例子:zip -r rc.d.zip /etc/init.d/,会以etc/init.d/的路径格式打包,解压缩后,在当前目录会有一个etc目录、内含init.d子目录。

    # zip : 行李箱 衣服...
    # Usage:zip [option] [包名] [文件/目录]...
        -r:递归打包
        -q:不输出打包过程
    
    # 打包单个文件
    [root@localhost ~]# zip f.zip file1
    
    # 打包多个文件
    [root@localhost ~]# zip f.zip file1 file8
    打包完file1 file8 以后
    [root@localhost ~]# zip f.zip file9 file10
    [root@localhost ~]# cd /data/ && unzip f.zip
    f.zip中 包括了file1 file8 file9 file10 
    也就是说可以无限继续添加压缩的文件内容
    
    # 打包目录
    [root@localhost ~]# zip -r wqh_dir.zip /root/wqh_dir
    

    tar 压缩命令(归档)

    1.解压缩文件时,如果当前目录有源文件,会直接覆盖,不会提示(较危险),而unzip会提示。
    2.一般命名压缩包后缀名 tar.gz的简化写法==> tgz

    # tar 归档
    用法: tar [选项...] [包名] [文件/目录]...
    
    [root@wqh06 ~]# tar zcf /root/opt.tgz /opt
    tar: Removing leading `/' from member names
    
    c:创建新的归档文件(create)
    x:解压归档文件
    f:指定包文件名(行李箱),如果是多个选项,f一定要放在最后
    v:显示过程
    z:归档之后使用gzip压缩
    P:不删 `/`,使用绝对路径打包
    t:查看压缩包中的压缩项目
    C:指定解压路径
    # 将tar.gz解压至其他目录
    # [root@student ~]# tar xf /etc/local.tar.gz  -C /tmp
    j: .bz2文件压缩
    J: .xz文件压缩
    h:打包软链接
    X:将要排除的目录或者文件,写到文件中,然后使用X指定该文件,即可排除 
    # 正确用法示例:
        [root@wqh06 ~]# tar zcf X_test.tgz /root/dir -X /root/123.txt
        cat /root/123.txt
        /root/dir/1	  # 生效,不推荐这么写,若前面想要打包的目录(/root/dir),不写绝对路径,这么写不会生效
        2             # 生效,推荐这么写!不想加入压缩包的文件名(直接写文件名,何时都管用)
        
    # 错误用法示例:
        [root@wqh06 ~]# tar zcf X_test.tgz dir -X /root/123.txt
        cat /root/123.txt
        /root/dir/1	  # 此时不生效
        2             # 生效    
    
    --exclude:直接写要排除的文件或者目录
    [root@wqh06 ~]# tar zcf exclude.tgz /etc --exclude=/etc/{hosts,rc.local}
    
  • 相关阅读:
    mybatis
    BeanUtil拷贝
    lombok(@Getter&@Setter)
    fly插件飞向购物车
    原生JavaScript判断是否为邮箱、危险字符、验证长度、验证网址、验证小数、整数、浮点数等常用的 js 验证
    原生JavaScript获取复选框的值
    原生JavaScript获取单选按钮的值
    原生JavaScript实现返回顶部的通用方法
    原生JavaScript获得URL中GET参数值
    原生JavaScript常用的正则表达式
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/12596507.html
Copyright © 2011-2022 走看看