Linux系统提供了许多命令,可以方便地报告系统活动。在这篇文章中,我们将研究几个特别有用的命令。
看命令
的看命令可以方便地反复检查系统中的各种数据——用户活动、运行进程、登录、内存使用情况等等。该命令实际上只是重复运行您指定的命令,每次覆盖前面显示的输出,但这为监视系统上发生的情况提供了一种非常方便的方法。
要从非常基本但不是特别有用的命令开始,可以运行以下命令观看- n5日并查看每5秒更新一次的当前日期和时间的显示。你可能已经猜到了- n 5选项指定每次运行命令之间等待的秒数。默认值是2秒。该命令将运行并像这样更新一个显示,直到您使用^c停止它。
日期:2019年1月23日星期三15:59:14 2019年1月23日星期三15:59:14 EST 2019年
作为一个更有趣的命令示例,您可以查看正在登录到服务器的用户的更新列表。如前所述,该命令将每10秒更新一次。登出的用户将从当前显示中消失,而登录的用户将出现在视图中。如果没有人登录或退出,显示将保持不变,除了显示的时间。
$ watch - n10 who
每10秒:谁蝴蝶:Tue 1月23日16:02:03 2019 shs:0 2019-01-23 09:45 (:0) dory pts/0 2019-01-23 15:50 (192.168.0.5) nemo pts/1 2019-01-23 16:01 (192.168.0.15) shark pts/3 2019-01-23 11:11 (192.168.0.27)
如果只想查看有多少用户登录,可以通过使用watch调用来获得用户计数和负载平均值,从而显示系统工作的困难程度正常运行时间命令。
美元的手表正常运行时间
每2秒:正常运行时间蝴蝶:星期二1月23日16:25:48 2019 16:25:48向上22天,4:38,3.用户,平均负载:1.15,0.89,1.02
如果你想使用watch来重复一个包含管道的命令,你需要把命令放在引号之间,就像这个命令,每5秒显示你有多少进程正在运行:
$手表-n 5 'ps -ef | wc -l'
每5秒:ps -ef | wc -l蝴蝶:星期二1月23日16:11:54 2019 245
要观察内存使用情况,你可以尝试这样的命令:
$手表-n 5免费-m
total used free shared buff/cache available Mem: 5959 776 3276 12 1906 4878 Swap: 2047 0 2047
您可以监视由特定用户运行的进程手表,但是,前command提供了更好的选择。
上面的命令
如果你想观察一个特定用户的进程,顶部有一个理想的选项为你-u选项:
前- u nemo前- 16:14:33 2天,的地方,3用户,平均负载:0.00,0.01,0.02的任务:199总1跑步、睡觉,198 0停止,0僵尸% Cpu (s): 0.0, 0.2 sy, 0.0倪,99.8 id, 0.0佤邦,嗨,0.0 0.0 si,第0.0 MiB Mem: 5959.4, 3277.3免费,776.4,1905.8迷/缓存MiB交换:2048.0,2048.0免费,0.0。4878.4用户公关效果Mem PID倪VIRT RES月S % % Mem CPU时间+命令23026 nemo 20 0 46340 7820 6504年代0.0 - 0.1 0:00.05 systemd 23033 nemo 20 0 149660 3140 72年代0.0 - 0.1 0:00.00 (sd-pam) 23125 nemo 20 0 63396 5100 4092年代0.0 - 0.1 0:00.00 sshd 23128 nemo 20 0 16836 5636 4284年代0.0 - 0.1 0:00.03 zsh
您不仅可以看到用户正在运行的进程,还可以看到进程正在消耗的资源(CPU时间和内存)以及系统的总体工作强度。
ac命令
如果您想要查看每个用户在登录时花费了多少时间,您可以使用交流命令。这需要安装acct(Debian)或psacct(RHEL、Centos等)包装。
的交流命令有许多选项,但它从当前提取其数据wtmp文件。下面的例子显示了用户最近登录的总小时数:
合计1261.72美元
这个命令显示总小时的用户:
$ ac -p鲨鱼5.24尼莫5.52 shs 1251.00总计1261.76
这个ac命令显示用户每天登录多少小时:
$ ac -d |尾部-10
1月11日合计0.05 1月12日合计1.36 1月13日合计16.39 1月15日合计55.33 1月16日合计38.02 1月17日合计28.51 1月19日合计48.66 1月20日合计1.37 1月22日合计23.48今天合计9.83
总结
有许多用于检查系统活动的命令。的看命令允许您以重复的方式运行几乎任何命令,并观察输出的变化。的前command是关注用户进程的更好选择,它也是循环的一种方式,允许您在更改发生时查看更改,而交流命令检查用户连接时间。