• 10 压缩和解压缩工具和bash脚本编程


    压缩和解压缩工具

    压缩比:

      目的:时间 换 空间

        CPU的时间 --> 磁盘空间

      compress/uncompress,Z

      gzip/gunzip,.gz

      bzip2/bunzip2,bz2

      xz/unxz,xz

      lzma, unlzma, lzma

      zip/unzip

      tar,cplo

     

     1、gzip/gunzip

      gzip, gunzip, zcat - compress or expand files

      zcat:查看被压缩的文件中的内容(适用于查看小文件)

      gzip [OPTION]... FILE...

        -d:解压缩,相当于gunzip

        -#:指定压缩比(等级),默认是6,数字越大压缩比越大,但是压缩时间慢

        -c:将压缩结果输出至标准输出;

          gzip -c FILE > /PATH/TO/SOMEFILE.gz

      2、bzip2/bunzip2/bzcat

      bzip2  [OPTION]... FILE...

      -d:解压缩

      -#:指定压缩比;默认是6;数字越大压缩比越大(1-9)

      -k:保留原文件

      3、xz/unxz/xzcat

        lzma, unlzma, lzcat

        xz [OPTION]... FILE...

        -d:解压缩

        -#:指定压缩比;默认是6,数字越大压缩比越大(1-9)

        -k:保留原文件

      归档操作:tar,cplo

      tar命令:

        tar [OPTION...] [FILE]...

        (1)创建归档

          -c  -f /PATH/TO/SOMEFILE.tar  FILE...

        (2)展开归档

          -xf /PATH/FROM/SOMEFILE.tar

          -xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR ,将归档文件展开到指定目录下

        (3)查看归档文件中的文件列表

          -tf /PATH/TO/SOMEFEILE.tar

        归档完成后通常需要压缩,结合此前的压缩工具,就能实现压缩多个文件了;

        

        (4)归档并压缩

          -z:gzip2

            -zcf /PATH/TO/SOMEFILE.tar.gz  FILE...

            -zxf  /PATH/TO//SOMEFILE.tar.gz:解压缩并展开归档

          -j:bzip2

            -jcf

            -jxf

          -J:xz

            -Jcf

            -Jxf

          加压缩可以省略 -J,-j,-z

      zip:

        zip/unzip

          后缀名:.zip

      练习:下载redis-3.0.2.tar.gz,展开至/tmp目录,而后重新归档压缩为xz格式

    bash脚本编程之用户交互

      脚本参数

      用户交互:通过键盘输入数据,从而完成变量赋值操作;

        read [OPTION]... [NAME]...

          -p 'PROMRT'

          -t TIMEOUT

      bash -n /PATH/TO/SOME_SCRIPT

        检测脚本中的语言错误

      bash -x /PATH/TO/SOME_SCRIPT

        调试执行

      示例:

        #!/bin/bash

        # Version:0.0.1

        # Author::xing

        # Descrption:read testing

        read -p “Enter a disk speclal file:” diskfile

        [ -z "$diskfile" ]  &&  echo “Fool”  &&  exit 1

        if fdisk -l | grep "^Disk  $diskfile" &> /dev/null;then

          fdisk -l $diskfile

        else

          echo "Wrong disk speclal file"

          exit 2

        fi

    #!/bin/bash
    2 #version:
    3 # other:
    4 #
    5 read -p "Enter a disk speclal file:" diskfile
    6 [ -z "diskfile" ] && echo "Fool" && exit 1
    7
    8 if fdisk -l | grep "^磁盘 $diskfile" &> /dev/null;then
    9   fdisk -l $diskfile
    10 elif fdisk -l | grep "^Disk $diskfile" &> /dev/null;then
    11    fdisk -l $diskfile
    12 else
    13    echo "Wrong disk sperclal file"
    14    exit 2

    #!/bin/bash
    2 #version:
    3 # other:
    4 #
    5 read -p "Enter a disk speclal file:" diskfile
    6 [ -z "diskfile" ] && echo "Fool" && exit 1
    7
    8 if fdisk -l | grep "(^磁盘|^Disk) $diskfile" &> /dev/null;then
    9   fdisk -l $diskfile
    10 else
    11    echo "Wrong disk sperclal file"
    12 exit 2
    13 fi

    添加用户:

    #!/bin/bash
    2 #version:0.0.1
    3 #author:xing
    4 #
    5 read -p "Enter a username: " name
    6 [ -z "$name" ] && echo "a username is needed" && exit 2
    7 if id $name &> /dev/null;then
    8 echo "用户已存在" && exit 2
    9 fi
    10 read -p "Enter password for $name,[password] " password
    11 [ -z "$password" ] && password=password
    12 if id $name &> /dev/null;then
    13 echo "$name exists"
    14 else

  • 相关阅读:
    vue 兼容ie 下载文件
    IDEA maven项目添加自己的jar包依赖
    mongodb 用户权限操作
    springboot + aspect
    Enum枚举类
    线上CPU飙升100%问题排查
    Linux零拷贝技术
    Java线程池实现原理及其在美团业务中的实践
    深入解析String#intern
    Java对象内存布局
  • 原文地址:https://www.cnblogs.com/self-discipline-xxc/p/10392638.html
Copyright © 2020-2023  润新知