• Linux下的压缩及归档


      Linux下常用的压缩格式有:

    gz,bz2,xz,zip,Z //只能压缩文件不能压缩目录,如果传递一个目录,他会把目录中的文件逐个压缩
      、、压缩算法:算法不同,压缩比也不同
    gz:gzip,压缩后为 .gz //gunzip解压缩
    -d :解压缩
    -#(#范围为1-9):指定压缩比,压缩比越小,压缩速度越快,压缩后的文件也越大,默认为6
    zcat:在不解压的情况下查看压缩文本文件的内容(临时解压文件查看,关闭之后临时文件被删除)
    bz2:bzip2,压缩后为.bz2
    比gzip更大压缩比的压缩工具,对大文件来讲,bzip2有很大优势,使用格式近似 //加压缩bunzip2
    -d:
    -#:(1-9)
    -k:可以保存原文件
    bzcat:如果是文本文件,可以不用解压缩直接查看
    xz:压缩后为.xz 用法相似 ||unxz,xzdec解压很小的文件,解压到屏幕
    -d:
    -#:
    -c:输入到屏幕上来
    -k:保留原文件
    xzcat:
    只能压缩文件,压缩比会更大
    可以一次压缩一个文件也可以一次压缩多个文件
    默认这些压缩命令压缩完会删除原文件,只保留压缩后的文件
    解压缩之后也会默认删除原来的压缩文件,只保留解压缩之后的文件
     
    zip: //压缩后默认不删除原文件
    可以压缩目录,但压缩比不大
    使用格式:zip 指定压缩名 要压缩的文件或目录
    eg:zip test.zip test/ //压缩test目录,压缩完之后是test.zip
    zip将多个文件压缩在一起,是一个既压缩又归档的命令
    unzip 压缩文件:解压缩
    archive 归档,把多个文件整合在一起,归档本身并不意味着压缩
     
     
    tar: //只归档不压缩的文件。。。.tar
    -c:创建归档文件
    -f FILE.tar:操作的归档文件,指定压缩后文件的名称,f后必须带上参数
    eg:tar -cf test.tar test*
    -xf FILE.tar:展开归档文件
    --xattrs: 表示在归档的同时,保留文件的扩展属性信息
    -tf FILE.tar:不展开归档,查看归档到底归档了哪些文件
    即归档又压缩:
    -zcf:调用gzip,并创建归档文件
    eg:tar -zcf test.tar.zip test/
    -zxf:先解压缩后归档
    eg:tar -zxf test.tar.zip //删除时-z选项可以删除
     
    -jcf:调用bzip2,并创建归档文件
    -jxf:先解压缩后归档
     
    -Jcf:调用xz,并创建归档文件
    -Jxf:先解压缩后归档
     
    -gtf:不解压直接看归档的文件 -g可以省略,因为系统可以根据后缀名判断解压的类型
    tar也是一个很好用的备份工具
     
    cpio: 做成归档或者展开归档 把文件做成归档或者从归档中复制出来文件
     
    练习:写一个脚本
    从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件
    sum.sh //直接跟命令行交互
    #!/bin/bash
    //echo -n "Input two intergers" //-n是为了不换行的输入
    read -p "Input two intergers" A B //-p直接提示
    echo "$A + $B is $[$A+$B]"
     
    #!/bin/bash
    read -p "Three files:" FILE1 FILE2 FILE3
    read -p "Destination" DEST
    read -p "Compress[gzip|bzip|xz]:" COMP
     
    case COMP in
    gzip)
    tar -zcf $(DEST).tar.gz $FILE1 $FILE2 $FILE3
    ;;
    bzip2)
    tar -jcf $(DEST).tar.bz2 $FILE1 $FILE2 $FILE3
    ;;
    xz)
    tar -cf $(DEST).tar $FILE1 $FILE2 $FILE3
    xz $(DEST).tar
    ;;
    *)
    echo "Unknown"
    exit 9
    ;;
    esac
  • 相关阅读:
    hbase 自定义过滤器
    idea的protobuf使用
    Docker自动补全容器名
    Docker普通用户不使用sudo提权
    Hadoop安装错误总结
    Git中撤销提交
    Python经典算法片段
    Git设置彩色输出
    Git同步远程fork的项目
    Git错误汇总
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/7007920.html
Copyright © 2020-2023  润新知