shell demo analyse------ 2

shell demo 小例子


这些shell小程序都是自己上网找的一些和自己平时写的一点,和大家分享一下


  • 我起的名字是createShell,可以加到/bin路径下,以后在写shell脚本时直接使用可以生成一些注释信息
#usage: $0  shellFileName
#!/bin/bash

#生成文件名,如果没有传入参数就以当前时间为名称
if [ -z "${1}" ];then
    mtime="`date +%T| sed 's/\:/\-/g'`"
    newfile="${mtime}.sh"
else
    newfile="${1}.sh"
fi

#判断该文件是否存在,当不存在就生成该文件
if ! grep "^#!" ${newfile} &> /dev/null;then
cat  >> ${newfile} <<EOF
#!/bin/bash
#Author:        leo
#Date:          `date +"%F %T"` 
#Description:

EOF
fi
vim +6 ${newfile}
  • 得到当前局域网内的电脑开机状态(c类网址)
#!/bin/bash
#Author:        leo
#Date:          2017-06-05 22:17:20
#Description:   ping ip from 1 to 255
read -p "C NETWORK: " MYNET
PINGNET=`echo ${MYNET} | sed 's/\([0-9.]*\)\.[0-9]*/\1/g' `
let I=1
while [ ${I} -le 254 ]
do
    ping -c1 -W1 ${PINGNET}.${I} &> /dev/null
    [ $? -eq 0 ] && echo "${PINGNET}.${I}                       online  :)" || echo "${PINGNET}.${I}   offline :("
let I++
done
  • 打印出输入多个文件中空行的数目
#usage: $0 $1...$n 
#!/bin/bash
#Author:        leo
#Date:          2017-06-06 17:39:46
#Description:   print blank line count
for i in "$@"
do
    [ -z ${i} ] && echo "${i} is zero " && continue
    COUNT=$(cat ${i} | grep -i "^$" | wc -l)  #统计空行数目 
    # “^$”  正则表达式代表空字符串
    echo "${i} 空格行为         ${COUNT}"
done
  • 为当前目录下的*.sh文件加上可执行权限
#!/bin/bash
#Author:        leo
#Date:          2017-06-06 17:46:42
#Description:   chmod a+x *.sh

for i in `ls`
do
    [ -f ${i} ] && [ ${i}=~.*\.sh ] && chmod a+x ${i} && echo " ${i} add author ok" || echo "file error"
done
  • 当前路径下的所以文件转移到文件夹下
#!/bin/bash
#Author:        leo
#Date:          2017-07-06 02:25:49
#Description:   move all file of current dir to a dir

#create dir
read -p "please input save dir : " saveDir
mkdir ${saveDir}

#move file to dir
for i in `ls`
do
        [ -f ${i} ] && `mv ${i} ./${saveDir}/`
done

#if dir is null , delete and warn
let count=$(ls ./${saveDir}/ | wc -l)
if [ ${count} -eq 0 ];then
        echo "no file to move"  && `rm -rf ${saveDir}`
fi
  • 打印一些信息
#!/bin/sh
#fun:       some information print
clear
echo -e "\033[31m---------------------------1.date-----------------------------------"
date
echo -e "\033[31m---------------------------2.updatime-------------------------------"
uptime
echo -e "\033[31m---------------------------3.Last Logins(5)--------------------------"
last -ai | head -5
echo -e "\033[31m---------------------------4.disk------------------------------------"
#df -h 磁盘使用情况
df -h | grep "[\/]dev[\/]" | xargs | awk '{print "Free/total:     " $4"/"$2"       "$1}'
echo -e "\033[31m---------------------------5.memory----------------------------------"
#free -mh 内存使用情况
free -mh | grep "Mem" | xargs | awk '{ print "Free/Total:    " $4 "/" $2 }'
echo -e "\033[31m---------------------------6.most expensive Processes----------------"
#top进行运行情况
top -b | head -10 | grep "^[\ ]"
echo -e "\033[31m---------------------------7.vmstat-----------------------------------"
#vmstat可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
vmstat 2 5 | grep "^[\ ]"
echo -e "\033[39m"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值