watch 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

watch 命令安装:


-bash: watch: command not found

#Debian
apt-get install procps

#Ubuntu
apt-get install procps

#Alpine
apk add procps

#Arch Linux
pacman -S procps-ng

#Kali Linux
apt-get install procps

#CentOS
yum install procps-ng

#Fedora
dnf install procps-ng

#OS X
brew install watch

#Raspbian
apt-get install procps

#Docker
docker run cmd.cat/watch watch

watch 命令补充说明:


watch 命令以周期性的方式执行给定的指令,指令输出以全屏方式显示。watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。

watch 命令语法:


watch [-dhvt] [-n <seconds>] [--differences[=cumulative]] [--help] [--interval=<seconds>] [--no-title] [--version] <command>

watch 命令选项:


-n 或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
-d 或--differences 用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
-t 或-no-title  会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
-h, --help # 查看帮助文档

watch 命令参数:


指令:需要周期性执行的指令。

watch 命令实例


watch -n 1 -d netstat -ant       # 命令:每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d 'pstree|grep http' # 每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。
watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l' # 实时查看模拟攻击客户机建立起来的连接数
watch -d 'ls -l|grep scf'       # 监测当前目录中 scf' 的文件的变化
watch -n 10 'cat /proc/loadavg' # 10秒一次输出系统的平均负载
watch uptime
watch -t uptime
watch -d -n 1 netstat -ntlp
watch -d 'ls -l | fgrep goface'     # 监测goface的文件
watch -t -differences=cumulative uptime
watch -n 60 from            # 监控mail
watch -n 1 "df -i;df"       # 监测磁盘inode和block数目变化情况

watch 命令的坑:


FreeBSD 和 Linux 下 watch 命令的不同,在 Linux 下,watch 是周期性的执行下个程序,并全屏显示执行结果,如:watch -n 1 -d netstat -ant,而在 FreeBSD 下的 watch 命令是查看其它用户的正在运行的操作,watch 允许你偷看其它 terminal 正在做什么,该命令只能让超级用户使用。

watch 命令扩展阅读:




watch 命令评论