• Shell简单工具


    1.修改某文件里的指定字段(修改配置文件里的IP)

    思路:

    # 新建一个IP.txt
    ip addr:
    192.168.0.112 netmask:255.255.255.0

    编写脚本:

    #!/bin/bash
      
    path=/home/yoyo/Documents/mytest
    cd $path
    localIP=`hostname -I|cut -d " " -f 1`
    echo "本机IP: $localIP"
    oldIP=`sudo find /home/yoyo/Documents/mytest/IP.txt | xargs grep 'ip addr:' | cut -d : -f 2`
    echo "文件中的IP:$oldIP"
    change=`sudo find /home/yoyo/Documents/mytest/IP.txt |xargs sed -i 's/'$oldIP'/'$localIP'/g'`
    echo "修改后的IP: $change"
    
    
    cat IP.txt

    执行效果如下:

    ♥真实项目例子♥

    
    

    2.倒计时脚本

    # 倒计时3s开始执行脚本
    
    var1=3
    while [ $var1 -gt 0 ]
    do 
           echo -ne $var1
              (( var1-- ))
                 sleep 1
                echo -ne "\r   \r" 
            done

     3.连ping IP地址的脚本

    #!/bin/bash
    for ((i=1;i<256;i++))
    do
            ping -c 3 192.168.0.$i>/dev/null
             #ping -c 192.168.0.1 ~192.168.0.255
                    if [[ $? -eq 0 ]] #if up $?==0
                            then echo "192.168.0.$i is alive"
                    else
                            echo "192.168.0.$i isn't up"
                    fi
    done

    4.获取进程的所有信息

    #! /bin/bash
    # Function: 根据用户输入的PID,过滤出该PID所有的信息
    read -p "请输入要查询的PID: " P
    n=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l`
    if [ $n -eq 0 ];then
     echo "该PID不存在!!"
     exit
    fi
    echo "--------------------------------"
    echo "进程PID: $P"
    echo "进程命令:`ps -aux| awk '$2~/^'$P'$/{print $11}'`"
    echo "进程所属用户: `ps -aux| awk '$2~/^'$P'$/{print $1}'`"
    echo "CPU占用率:`ps -aux| awk '$2~/^'$P'$/{print $3}'`%"
    echo "内存占用率:`ps -aux| awk '$2~/^'$P'$/{print $4}'`%"
    echo "进程开始运行的时刻:`ps -aux| awk '$2~/^'$P'$/{print $9}'`"
    echo "进程运行的时间:`ps -aux| awk '$2~/^'$P'$/{print $10}'`"
    echo "进程状态:`ps -aux| awk '$2~/^'$P'$/{print $8}'`"
    echo "进程虚拟内存:`ps -aux| awk '$2~/^'$P'$/{print $5}'`"
    echo "进程共享内存:`ps -aux| awk '$2~/^'$P'$/{print $6}'`"
    echo "--------------------------------"

  • 相关阅读:
    手写web框架之加载配置项目
    JAVA中注解的实现原理
    使用Mock 测试 controller层
    如何写resultful接口
    RSA加密、解密、签名、验签的原理及方法
    AES256位加密
    聊聊分布式事务,再说说解决方案
    分布式锁简单入门以及三种实现方式介绍
    redis总结(面试中容易遇到的)
    字符串匹配的KMP算法
  • 原文地址:https://www.cnblogs.com/wzhqzm/p/14093836.html
Copyright © 2020-2023  润新知