文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一篇讲明白监控运维命令

2024-11-29 19:38

关注

watch命令的常见语法如下:

watch [选项] 命令

其支持的选项如下:

通过使用watch命令,你可以方便地监视系统状态、实时查看日志文件的变化、观察进程的运行情况等。它在调试和监控系统时非常有用,以及在需要持续追踪某些命令输出的情况下使用。

后面跟双引号

如果连接的命令比较长,可以使用双引号括起来的方式 例如:

watch -n 5 -d "ps -aux | grep java"

ps命令

ps命令是一个用于查看当前正在运行的进程信息的实用程序。它提供了多种用法和选项,以下是一些常见的用法:

ps
ps -ef
ps -ef --forest
ps -f --forest -p 
ps aux
ps ux
  1. 以持续更新的方式显示进程信息:
ps -ef --forest --forest
ps -ef | grep <进程名>
ps -u <用户名>

pstree命令

pstree命令是一个用于以树状结构显示进程层次关系的实用程序。它以可读性较好的方式显示进程之间的父子关系,帮助用户更好地理解和分析系统中的进程结构。

pstree命令通常在Linux和Unix系统中预装,无需额外安装。你可以直接在终端中使用该命令。下面是使用pstree命令的基本语法:

pstree [选项]

一般情况下,你可以直接运行pstree命令来显示当前用户的所有进程及其层次关系。它会以树状结构的形式输出进程层次,并标示进程之间的父子关系。

pstree命令还提供一些选项来定制其行为,例如:

你可以组合使用这些选项来满足你的需求,例如:pstree -p -h会显示进程的PID,并以高亮方式突出显示当前进程及其祖先进程。

需要注意的是,pstree命令可能需要以超级用户(root)权限运行,以显示所有进程的完整层次结构。你可以使用sudo pstree命令来获取完整的进程层次信息。

free 命令

free命令用于显示系统的内存使用情况和交换空间(swap)情况。下面是free命令的详细用法:

free [选项]

常用的选项包括:

以下是一些常用的示例:

free
free -h
free -s 5
  1. 显示内存和交换空间的详细信息,包括内存总量、已用内存、空闲内存等:
free -b

free命令的输出结果包括以下字段:

这些字段描述了系统内存的不同方面和用途。以下是这些字段之间的关系:

总体上,used 包括了 shared、buffers、cached 和实际被进程使用的内存。而 free 则表示未被系统和进程使用的内存,包括未被缓冲和缓存的空闲内存。

需要注意的是,这些值是基于当前时刻的快照,内存使用情况是动态变化的,因此在不同时间查询时,这些值可能会有所不同。

df命令、du命令和fdisk命令

这三个命令都是查看硬盘使用情况的命令

df命令

df命令用于显示文件系统的磁盘空间使用情况。它提供了多种选项,用于定制输出的格式和内容。以下是一些常用的选项:

可以使用这些选项的组合来满足特定的需求。例如:

df -h -x <文件系统类型>
df -i --total

请注意,<文件系统类型>是指文件系统的标识,如ext4、ntfs、vfat等。你可以通过df --help命令获取完整的选项列表和用法说明。

du命令

du命令用于显示目录或文件的磁盘空间使用情况。它可以帮助你确定文件和目录所占用的磁盘空间大小。以下是一些常用的du命令选项:

你可以使用这些选项的组合来满足不同的需求。以下是一些示例:

du -h <目录或文件>
du -sh <目录>
du -a <目录>
du --max-depth=2 <目录>

请注意,<目录或文件>是指要查看磁盘空间使用情况的目录路径或文件路径。你可以通过du --help命令获取完整的选项列表和用法说明。

fdisk命令

fdisk命令是一个用于查看和管理磁盘分区的命令行工具。它可以帮助你查看磁盘的分区信息、创建新的分区、删除分区等。以下是一些常用的 fdisk 命令选项:

fdisk -l
fdisk /dev/sda

请注意,使用 fdisk 命令进行分区操作需要以超级用户(root)权限运行。此外,对磁盘进行分区操作是一个潜在的危险操作,请确保在进行分区操作之前备份重要的数据。

以下是一个简单的分区操作示例:

fdisk -l
fdisk /dev/sda
  1. 在 fdisk 的交互式界面中,使用命令 n 创建一个新的分区,然后按照提示进行分区类型、起始位置和大小的设置。
  2. 使用命令 p 显示分区表信息,确认分区已创建。
  3. 使用命令 w 将更改写入磁盘并退出 fdisk。

查看cpu情况

top命令

Tasks: 292 total,   1 running, 291 sleeping,   0 stopped,   0 zombie %Cpu(s):  0.7 us,  0.8 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st MiB Mem :  31662.0 total,   4555.1 free,  26599.6 used,    507.3 buff/cache MiB Swap:    975.0 total,    113.4 free,    861.6 used.   4554.9 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND

1692815 root      20   0   17.7g   1.5g  20264 S   6.3   4.7   5:53.00 java

以上是top命令的一个结果,我们来简单解读一下:

  1. 第一行:显示了任务(进程)的总数和状态信息。
  1. 第二行:显示了 CPU 的使用情况。
  1. 第三行:显示了内存的使用情况。
  1. 第四行:显示了交换空间(Swap)的使用情况。
  1. 接下来的行:显示了每个任务(进程)的详细信息。

`:任务占用的内存百分比。

以上是对top命令结果的详细解释,它提供了关于系统任务、CPU、内存和进程的重要信息。top命令有许多选项可以用于定制输出和控制显示的内容。以下是一些常用的top命令选项:

mpstat命令

下面是该命令的一次结果

Linux 5.10.0-15-amd64 (debian-2) 06/07/2023 x86_64 (16 CPU) 03:01:22 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle 03:01:22 PM  all    0.22    0.00    0.19    0.00    0.00    0.00    0.00    0.00    0.00   99.59

简单解读一下

下面是每一列的含义:

对于示例中的数据行:

这些统计信息显示了在报告生成的时间点上,系统中的 CPU 使用情况。

下面是一些常用的mpstat命令选项:

查看网络情况

netstat命令

netstat命令有多个选项,可以根据需要来显示网络连接、路由表和网络统计信息。以下是一些常用的netstat命令选项:

下面是一个结果

Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path unix  2      [ ]         DGRAM                    579005   26313/systemd        /run/user/0/systemd/notify unix  2      [ ACC ]     STREAM     LISTENING     13693    1228/zabbix_server   /run/zabbix/zabbix_server_rtc.sock

逐行进行分析:

  1. unix 2 [ ] DGRAM 579005 26313/systemd /run/user/0/systemd/notify
  1. unix 2 [ ACC ] STREAM LISTENING 13693 1228/zabbix_server /run/zabbix/zabbix_server_rtc.sock

这些信息提供了关于网络连接的详细信息,包括连接类型、状态、进程关联和相关路径。

ss命令

ss命令是用于查看套接字(socket)信息的工具,具有比netstat更快速和更强大的功能。以下是一些常用的ss命令选项:

看看例子

State                Recv-Q           Send-Q                             Local Address:Port                                   Peer Address:Port                 ProcessESTAB                0                0                                   20.20.40.232:ssh                                      10.110.0.9:23033CLOSE-WAIT           32               0                                   xxx.xxx.xxx.xxx:58836                                 xxx.xxx.xxx.xxx:https

逐行分析为: 根据提供的ss命令结果,逐行进行分析:

  1. ESTAB 0 0 20.20.40.232:ssh 10.110.0.9:23033
  1. CLOSE-WAIT 32 0 20.20.40.232:58836 xxx.xxx.xxx.xxx:https

这些信息提供了关于套接字的详细信息,包括套接字状态、数据队列大小和本地/远程地址与端口。

traceroute命令

traceroute命令用于跟踪数据包从本地主机到目标主机的路径。它通过发送一系列的数据包,逐跳地测量和显示每个跳点的延迟和路径信息。以下是一些常用的traceroute命令选项:

traceroute命令的结果通常会显示每个跳点的信息,包括跳点的序号、IP地址、主机名(如果可解析)、延迟和跃点数(TTL)。以下是traceroute命令可能显示的一些常见结果:

需要注意的是,由于网络环境的变化和路由策略的差异,不同跟踪的结果可能会有所不同。

当traceroute命令的结果中,IP地址列显示为星号(*)时,表示无法获得该跳点的IP地址信息。这通常是因为网络设备或防火墙配置的原因,导致无法获取到该跳点的准确IP地址。这种情况下,traceroute无法确定经过的网络节点具体的IP地址。可能的原因包括:

在这种情况下,traceroute仍然会显示其他可用信息,如跳点的序号、延迟时间和跃点数(TTL),但无法提供具体的IP地址。

telnet命令

telnet命令是一个用于远程登录或测试网络连接的工具。以下是telnet命令的一些常见选项:

和traceroute类似

ifconfig命令

ifconfig命令用于查看和配置网络接口的信息,包括IP地址、网络掩码、MAC地址等。以下是一些常见的ifconfig命令选项:

这些只是ifconfig命令的一些常用选项,实际上还有更多选项和功能可用。为了获取详细的选项列表和用法说明,您可以在命令行中输入man ifconfig以查看ifconfig命令的手册页。请注意,ifconfig在一些新的Linux发行版中已被ip命令所取代,因此建议尽量使用ip命令进行网络接口的配置和管理。

来看一个例子

eno1: flags=4163  mtu 1500 inet 20.20.40.232  netmask 255.255.248.0  broadcast 20.20.47.255 inet6 fe80::2eea:7fff:fe93:ef5e  prefixlen 64  scopeid 0x20 ether 2c:ea:7f:93:ef:5e  txqueuelen 1000  (Ethernet) RX packets 39320669  bytes 46025532065 (42.8 GiB) RX errors 0  dropped 0  overruns 0  frame 0 TX packets 40037370  bytes 5499509583 (5.1 GiB) TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 device interrupt 17lo: flags=73  mtu 65536 inet 127.0.0.1  netmask 255.0.0.0 inet6 ::1  prefixlen 128  scopeid 0x10loop  txqueuelen 1000  (Local Loopback) RX packets 5399237  bytes 819904930 (781.9 MiB) RX errors 0  dropped 0  overruns 0  frame 0 TX packets 5399237  bytes 819904930 (781.9 MiB) TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

根据提供的输出,我们可以分析两个网络接口:eno1和lo。

  1. eno1接口:
  1. lo接口:

综上所述,eno1是一个活动的以太网接口,具有IPv4和IPv6地址,而lo是一个本地环回接口,用于在本地进行回环测试和通信。

杀死进程的kill命令

kill命令可以发送不同的信号给进程,以便控制其行为。以下是一些常见的kill命令信号及其对应的编号:

除了上述常见的信号外,还有其他信号可供使用,具体的信号列表可以通过kill -l命令查看。该命令会列出系统支持的所有信号及其对应的编号。

例如,可以通过以下命令查看信号列表:

kill -l

杀死某个名称的进程

ps -aux | grep 'python3 main.py' | awk '{print $2}' | xargs kill -9

kill、pkill和killall命令

kill、pkill和killall命令都用于终止正在运行的进程,但它们在使用方式和作用范围上有所不同。

  1. kill命令:

常用选项:

  1. pkill命令:
  1. killall命令:

需要注意的是,使用这些命令时要小心确认要终止的进程,以免意外关闭重要的进程。在使用强制终止信号(如9号信号)时,进程可能无法进行正常的清理操作,因此建议在必要时使用,并确保备份数据。

来源:海燕技术栈内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯