Linux Shell脚本攻略读书笔记(2)

用syslog记录日志

例子

logger This is a test log file
logger -t TAG this is a message
logger -f /var/log/source.log

inotifywait命令可以对文件及文件夹访问监控

用watch命令监视命令输出,按ctrl+c退出。例子如下

watch 'ls  -l. | grep "^d" '

watch -n 5 'ls -l'

列出1小时内占用CPU最多的10个进程

#!/bin/bash

SECS=3600
UNIT_TIME=60

STEPS=$(( $SECS / $UNIT_TIME ))

echo Watching CPU usage... ;

# Collect data in temp file

for((i=0;i<STEPS;i++))
do
  ps -eocomm,pcpu | egrep -v '(0.0)|(%CPU)' >> /tmp/cpu_usage.$$
  sleep $UNIT_TIME
done

# Process collected data
echo
echo CPU eaters :

cat /tmp/cpu_usage.$$ | \
awk '
{ process[$1]+=$2; }
END{ 
  for(i in process)
  {
    printf("%-20s %s\n",i, process[i]) ;
  }

   }' | sort -nrk 2 | head

#Remove the temporary log file
rm /tmp/cpu_usage.$$

awk创建了一个名为process的哈希表,以进程名称作为key

目录命令

pushd popd 用栈来记录最近访问的目录, dirs命令可以查询最近访问目录

只涉及两个目录的时候,可以用cd -来切换

tree命令可以打印目录树,甚至输出目录的html格

只列出目录 find . -type d -maxdepth 1

微信扫一扫,分享到朋友圈

Linux Shell脚本攻略读书笔记(2)
返回顶部

Optimized by WPJAM Basic

显示

忘记密码?

显示

显示

获取验证码

Close