watch 是一个Linux的实时监测命令,它实时监测一个命令的运行结果,省得一遍又一遍的手动运行。
最为常用的参数:
-n 表示间隔多少秒执行一次命令
-d 表示高亮,当监控的命令执行结果有变动,则高亮显示。
示例:
实时监控系统的用户登录情况,当有新用户登录,或登出都会高亮显示下。
watch -d -n 1 'who'
Every 1.0s: who Fri Nov 9 08:55:50 2018
hello pts/0 2018-11-09 08:45 (:10)
root pts/1 2018-11-09 08:46 (192.168.254.1)
root pts/2 2018-11-09 08:49 (192.168.254.1)
CTRL + C可以退出正在执行的watch监控进程。
watch执行的命令可以是多条,多条以逗号分隔。
示例:
watch -d -n 1 'df -h;ls -l'
Every 1.0s: df -h;ls -l Fri Nov 9 08:57:23 2018
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 14G 3.1G 82% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 8.7M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1005
tmpfs 1.6G 0 1.6G 0% /run/user/0
总用量 13656
-rw-------. 1 root root 1257 2月 27 2018 anaconda-ks.cfg
drwxr-xr-x 2 root root 6 8月 31 11:29 express
drwxr-xr-x. 13 root root 4096 11月 7 14:31 hbk
-rw-------. 1 root root 1675 7月 24 08:50 huangbaokang
-rw-r--r--. 1 root root 402 7月 24 08:50 huangbaokang.pub
drwxr-xr-x 3 root root 255 9月 5 08:46 node_test
drwxr-xr-x 2 root root 40 8月 30 16:41 ruby_test
-rw-r--r-- 1 root root 13950976 7月 25 17:08 swapfile
这条命令可以监控磁盘的使用状况,以及当前目录下文件的变化状况,包括文件的新增、删除和文件修改日期的更新等。
在项目中也通常用tail 或tailf命令,但这两个命令没有高亮的显示,在运维中常常用来监控输出日志,比如nginx日志,tomcat,apache日志等,而watch命令显示将占用一个屏幕,各有各的好处。