介绍
在本实验中,你将学习如何使用 Linux 的 watch
命令,该命令允许你重复执行某个命令并监控其输出。实验内容涵盖理解 watch
命令、监控系统进程以及实时跟踪文件变化。watch
命令是系统监控和管理的强大工具,能够让你及时了解关键系统事件和变化。在整个实验中,你将通过实际示例探索并学习如何在日常系统管理任务中有效使用 watch
命令。
在本实验中,你将学习如何使用 Linux 的 watch
命令,该命令允许你重复执行某个命令并监控其输出。实验内容涵盖理解 watch
命令、监控系统进程以及实时跟踪文件变化。watch
命令是系统监控和管理的强大工具,能够让你及时了解关键系统事件和变化。在整个实验中,你将通过实际示例探索并学习如何在日常系统管理任务中有效使用 watch
命令。
在这一步中,你将学习 Linux 中的 watch
命令,该命令允许你重复执行某个命令并监控其输出。
watch
命令是系统监控和管理的强大工具。它可以用于跟踪系统进程的变化、文件修改以及其他实时事件。
要开始使用 watch
命令,只需在终端中运行以下命令:
watch [options] <command>
其中,[options]
是你可以传递给 watch
命令的可选参数,而 <command>
是你想要执行并监控的命令。
watch
命令的一些常见选项包括:
-n, --interval <seconds>
:设置命令执行的更新间隔(默认是 2 秒)。-d, --difference
:高亮显示连续更新之间的差异。-t, --no-title
:隐藏显示当前时间和正在执行的命令的标题。例如,要每 5 秒监控一次 df
命令(显示磁盘使用情况)的输出,你可以运行:
watch -n 5 df -h
示例输出:
Every 5.0s: df -h labex@ubuntu: Fri Apr 28 14:35:41 2023
Filesystem Size Used Avail Use% Mounted on
overlay 30G 4.2G 26G 14% /
tmpfs 64M 0 64M 0% /dev
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 30G 4.2G 26G 14% /etc/hosts
shm 64M 0 64M 0% /dev/shm
overlay 30G 4.2G 26G 14% /etc/resolv.conf
overlay 30G 4.2G 26G 14% /etc/hostname
overlay 30G 4.2G 26G 14% /etc/host.conf
tmpfs 2.0G 0 2.0G 0% /proc/acpi
tmpfs 2.0G 0 2.0G 0% /proc/scsi
tmpfs 2.0G 0 2.0G 0% /sys/firmware
watch
命令将持续执行 df -h
命令并显示输出,每 5 秒更新一次。
在这一步中,你将学习如何使用 watch
命令实时监控系统进程。
watch
命令可以与 ps
(process status,进程状态)命令结合使用,持续显示系统中正在运行的进程信息。
要使用 watch
监控系统进程,请运行以下命令:
watch -n 5 'ps aux'
这将每 5 秒执行一次 ps aux
命令,并在终端中显示输出。ps aux
命令显示所有正在运行的进程信息,包括用户、进程 ID、CPU 和内存使用情况,以及启动进程的命令。
你还可以将 watch
命令与其他与进程相关的命令(如 top
或 htop
)结合使用,以获取更详细的系统进程视图:
watch -n 5 top
这将显示 top
命令的输出,其中按 CPU 或内存使用情况排序显示进程。
示例输出:
Every 5.0s: top labex@ubuntu: Fri Apr 28 14:40:41 2023
top - 14:40:41 up 8 min, 0 users, load average: 0.00, 0.00, 0.00
Tasks: 38 total, 1 running, 37 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1984.0 total, 1909.7 free, 29.3 used, 45.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1909.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8548 3292 2340 S 0.0 0.2 0:01.38 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
watch
命令允许你持续监控系统进程,从而更容易识别资源密集型应用程序或检测任何异常的进程活动。
在这一步中,你将学习如何使用 watch
命令监控文件或目录的变化。
watch
命令可以与 ls
(list directory contents,列出目录内容)命令结合使用,持续显示目录内容并检测任何变化。
首先,我们创建一个目录和一些文件用于监控:
mkdir ~/project/files
touch ~/project/files/file1.txt ~/project/files/file2.txt
现在,要监控 ~/project/files
目录的内容,请运行以下命令:
watch -n 5 'ls -l ~/project/files'
这将每 5 秒执行一次 ls -l ~/project/files
命令,并在终端中显示输出。ls
的 -l
选项显示长格式列表,包括文件权限、所有者、大小和修改时间等信息。
你还可以使用 watch
命令监控特定文件的变化。例如,要监控 file1.txt
文件的内容:
watch -n 5 'cat ~/project/files/file1.txt'
这将每 5 秒显示一次 file1.txt
文件的内容,你可以实时查看对文件所做的任何更改。
示例输出:
Every 5.0s: ls -l ~/project/files labex@ubuntu: Fri Apr 28 14:45:41 2023
total 0
-rw-r--r-- 1 labex labex 0 Apr 28 14:44 file1.txt
-rw-r--r-- 1 labex labex 0 Apr 28 14:44 file2.txt
watch
命令允许你持续监控文件和目录,从而更容易检测系统文件的变化或修改。
在本实验中,你将学习如何在 Linux 中使用 watch
命令来监控系统进程和文件变化。首先,你将了解 watch
命令的基础知识,包括如何运行它以及可用的选项。接着,你将学习如何使用 watch
监控系统进程,例如跟踪磁盘使用情况随时间的变化。最后,你将探索如何使用 watch
监控文件变化,这对于跟踪配置文件或日志文件非常有用。通过本实验,你将全面掌握 watch
命令,并了解如何将其应用于各种系统监控任务。