Linux 下watch命令

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:41   2160   0

watch 命令可以实时监测命令的运行结果

watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。直接在 watch 后面接你想运行的命令,watch 就会帮你重复运行,并把每次的结果都更新在屏幕上。
默认watch会以2s的间隔重复运行命令,你也可以用 -n 参数指定时间间隔.
还有一个实用的参数是-d,这样watch会帮你高亮显示变化的区域,这样更加一目了然了
Ctrl+c 就可以退出
可以拿他来监测你想要的一切命令的结果变化,比如tail一个 log 文件,ls监测某个文件的大小变化

语法:
watch [options] command

常用选项:

  • -d:高亮显示指令输出信息的不同之处
  • -n:指定命令执行的时间间隔(默认单位为秒)
  • -t:不显示标题

实例:

# watch -n 1 uptime                  //监测系统负载
# watch -t -d uptime

# watch -n 2 vmstat      //监控服务器的状态值:cpu使用率、内存使用等
# watch -d -n 1 netstat -ntlp      //监测网络连接
# watch -d 'ls -l | fgrep goface'   //监测goface的文件
# watch -t -differences=cumulative uptime
# watch -n 1 -d 'pstree|grep http'   //每隔一秒高亮显示http链接数的变化情况
# watch -n 1 "df -i;df"  //监测磁盘inode和block数目变化情况
# watch -n 1 "netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c| sort -rn | head"    //监测每个IP的连接数
# watch -n 1 "netstat -an | awk '/^tcp/ {++sta[\$NF]} END {for(key in sta) print key, "\t", sta[key]}'"    //监测每个连接状态的数量

# watch -d -n 1 'df -hT;ls -Alt -F /path' //看看哪些文件正在变!
解析:
在使用这条命令时你需要替换其中的 /path 部分,watch 是实时监控工具,
-d 参数会高亮显示变化的区域,-n 1 参数表示刷新间隔为 1 秒。
df -hT; ls -FlAt /path 运行了两条命令,df 是输出磁盘使用情况,ls -FlAt 则列出 /path 下面的所有文件。
ls -FlAt 的参数详解:
-F 在文件后面加一个文件符号表示文件类型,共有 */=>@| 这几种类型,* 表示可执行文件,/ 表示目录,= 表示接口( sockets) ,> 表示门, @ 表示符号链接, | 表示管道。 
-l 以列表方式显示 
-A 显示 . 和 .. 
-t 根据时间排序文件

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP