一起来学Linux命令(九)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 一起来学Linux命令(九)

前言

目前正在出一个Linux命令系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~

作为服务端开发,linux命令还是要掌握一下的,可以做做基础性的运维。好了, 废话不多说直接开整吧~

free

显示系统中可用和可用的物理内存和交换内存的总量,以及内核使用的缓冲区和高速缓存

语法:

free [options]

命令参数:

-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g  以GB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。

使用示例:

# 显示内存使用情况
[root@iZ2ze5vrnucj8nu52fq932Z ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1881820      804136       75396        1132     1002288      904612
Swap:       1049596           0     1049596
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
total: 总物理内存大小
used: 已使用
free: 可用
Shared: 多个进程共享的内存总额
Buffers/cached: 磁盘缓存的大小
# 周期性统计 每5秒统计一次
[root@iZ2ze5vrnucj8nu52fq932Z ~]# free -s 5
              total        used        free      shared  buff/cache   available
Mem:        1881820      804972       73288        1132     1003560      903820
Swap:       1049596           0     1049596
              total        used        free      shared  buff/cache   available
Mem:        1881820      807120       71132        1132     1003568      901672
Swap:       1049596           0     1049596

top

提供正在运行的系统的动态实时视图。它可以显示系统摘要信息以及Linux内核当前正在管理的进程或线程的列表。所显示的系统摘要信息的类型以及为进程显示的信息的类型,顺序和大小都是用户可配置的,并且可以使配置在重新启动后保持不变。

该程序为流程操作提供了一个有限的交互式界面,并为个人配置提供了更为广泛的界面-涵盖了其操作的各个方面。尽管在本文档中始终引用top,但是您可以随意为程序命名。然后,该新名称(可能是别名)将反映在顶部的显示屏上,并在读写配置文件时使用。

语法:

top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]

命令参数:

-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数

使用示例:

[root@iZ2ze5vrnucj8nu52fq932Z ~]# top
top - 09:51:58 up 584 days, 12:23,  1 user,  load average: 0.01, 0.04, 0.05
Tasks: 101 total,   2 running,  99 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  1.0 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1881820 total,    79580 free,   806556 used,   995684 buff/cache
KiB Swap:  1049596 total,  1049596 free,        0 used.   902292 avail Mem 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                                                      
17370 root      10 -10  134744  16928  11220 S  0.7  0.9  24:59.18 AliYunDunMonito                                                                                                                                                              
  554 root      20   0  614220  22172   5220 S  0.3  1.2   1408:05 exe                                                                                                                                                                          
17391 1001      20   0   10.7g  11272   2576 S  0.3  0.6 280:01.78 etcd                                                                                                                                                                         
17592 root      20   0  750048  14652   3932 S  0.3  0.8 165:04.51 user-api                                                                                                                                                                     
    1 root      20   0  191360   3352   1628 S  0.0  0.2  17:05.98 systemd                                                                                                                                                                      
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.15 kthreadd                                                                                                                                                                     
    4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                                                 
    6 root      20   0       0      0      0 S  0.0  0.0  24:31.19 ksoftirqd/0                                                                                                                                                                  
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                                                                                                  
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                                                                                                       
    9 root      20   0       0      0      0 S  0.0  0.0 190:18.41 rcu_sched                                                                                                                                                                    
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                                                                                                                                                                
   11 root      rt   0       0      0      0 S  0.0  0.0   2:13.01 watchdog/0                                                                                                                                                                   
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                                                                                                    
......
.......
..........  
第一行 任务队列信息
第二行 Tasks — 任务(进程)
第三行 cpu状态信息
第四行 内存状态
第五行 swap交换分区信息
第七行以下 各进程(任务)的状态监控
相关描述:
    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

sar

目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

这个命令看系统信息可以说是非常的好用,有兴趣的同学可以多去了解一下

语法:

sar [options] [-A] [-o file] t [n]

命令参数:

 -b  I/O 和传输速率信息状况
    -B  分页状况
    -d  块设备状况
    -I { <中断> | SUM | ALL | XALL }
        中断信息状况
    -m  电源管理信息状况
    -n { <关键词> [,...] | ALL }
        网络统计信息
        关键词可以是:
        DEV  网卡
        EDEV     网卡 (错误)
        NFS  NFS 客户端
        NFSD     NFS 服务器
        SOCK     Sockets (套接字)  (v4)
        IP  IP  流         (v4)
        EIP  IP 流      (v4) (错误)
        ICMP     ICMP 流 (v4)
        EICMP    ICMP 流 (v4) (错误)
        TCP  TCP 流  (v4)
        ETCP     TCP 流  (v4) (错误)
        UDP  UDP 流  (v4)
        SOCK6    Sockets (套接字)  (v6)
        IP6  IP 流      (v6)
        EIP6     IP 流      (v6) (错误)
        ICMP6    ICMP 流 (v6)
        EICMP6 ICMP 流 (v6) (错误)
        UDP6    UDP 流       (v6)
    -q  队列长度和平均负载
    -r  内存利用率
    -R  内存状况
    -S  交换空间利用率
    -u [ ALL ]
        CPU 利用率
    -v  Kernel table 状况
    -w  任务创建与系统转换统计信息
    -W  交换信息
    -y  TTY 设备状况
    -o {<文件路径>}
       将命令结果以二进制格式存放在指定文件中

使用示例:

统计网络信息

命令中 1 3 表示每一秒钟取 1 次值,一共取 3 次;命令执行后会列出每个网卡这 3 次取值的平均数据。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -n DEV 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
09:59:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:59:01 AM br-0c2040b89567      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:01 AM      eth0      3.06      2.04      0.18      0.25      0.00      0.00      0.00
09:59:01 AM br-b92e519c7565      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:01 AM br-2deca97b839e      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:01 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:59:02 AM br-0c2040b89567      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:02 AM      eth0     17.82     14.85      1.39     16.64      0.00      0.00      0.00
09:59:02 AM br-b92e519c7565      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:02 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:02 AM br-2deca97b839e      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:02 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:02 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:59:03 AM br-0c2040b89567      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:03 AM      eth0      4.08      3.06      0.25      0.87      0.00      0.00      0.00
09:59:03 AM br-b92e519c7565      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:03 AM        lo      2.04      2.04      0.10      0.10      0.00      0.00      0.00
09:59:03 AM br-2deca97b839e      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:59:03 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:    br-0c2040b89567      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      8.42      6.73      0.61      6.03      0.00      0.00      0.00
Average:    br-b92e519c7565      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo      0.67      0.67      0.03      0.03      0.00      0.00      0.00
Average:    br-2deca97b839e      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

CPU 利用率

命令中 1 3 表示每一秒钟取 1 次值,一共取 3 次。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -u 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:00:29 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:00:30 AM     all      1.01      0.00      1.01      0.00      0.00     97.98
10:00:31 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
10:00:32 AM     all      1.01      0.00      1.01      0.00      0.00     97.98
Average:        all      0.68      0.00      0.68      0.00      0.00     98.65
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

内存利用率

# 
[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -r 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:01:08 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
10:01:09 AM    100472   1781348     94.66     77596    870992   1665916     56.83    728228    860364       360
10:01:10 AM    100472   1781348     94.66     77596    870992   1665916     56.83    728228    860364       360
10:01:11 AM    100472   1781348     94.66     77596    870992   1665916     56.83    728232    860364       360
Average:       100472   1781348     94.66     77596    870992   1665916     56.83    728229    860364       360
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
  • kbmemfree 空闲内存,不包括 cache 空间
  • kbmemused 使用内存,不包括内核使用空间
  • %memused kbmemused 和内存总量(不包括 SWAP)的百分比
  • kbbufferskbcached 内核使用的 buff/cache 空间
  • kbcommit 当前系统运行所需的内存,用于评估RAM+SWAP总的大小保证程序不会被 OOM
  • %commitkbcommit 与内存总量(包括 swap)的一个百分比,该值可能会超过 100%,因为内存允许 overcommit

系统页面 SWAP 信息

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -W 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:02:09 AM  pswpin/s pswpout/s
10:02:10 AM      0.00      0.00
10:02:11 AM      0.00      0.00
10:02:12 AM      0.00      0.00
Average:         0.00      0.00
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

I/O 和传输速率信息状况

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -b 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:02:33 AM       tps      rtps      wtps   bread/s   bwrtn/s
10:02:34 AM      4.08      0.00      4.08      0.00    114.29
10:02:35 AM      0.00      0.00      0.00      0.00      0.00
10:02:36 AM      0.00      0.00      0.00      0.00      0.00
Average:         1.35      0.00      1.35      0.00     37.84
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
  • tps 每秒钟物理设备的 I/O 传输总量
  • rtps 每秒钟从物理设备读入的数据总量
  • wtps 每秒钟向物理设备写入的数据总量
  • bread/s 每秒钟从物理设备读入的数据量,单位为:块/s
  • bwrtn/s 每秒钟向物理设备写入的数据量,单位为:块/s

系统调度队列长度和平均负载

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -q 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:03:17 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:03:18 AM         1       402      0.00      0.01      0.05         0
10:03:19 AM         2       402      0.00      0.01      0.05         0
10:03:20 AM         1       402      0.00      0.01      0.05         0
Average:            1       402      0.00      0.01      0.05         0
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
  • runq-sz 运行队列的长度(等待运行的进程数)
  • plist-sz 进程列表中进程(processes)和线程(threads)的数量
  • ldavg-1 最后 1 分钟的系统平均负载(System load average
  • ldavg-5 过去 5 分钟的系统平均负载
  • ldavg-15 过去15分钟的系统平均负载

块设备状况

[root@iZ2ze5vrnucj8nu52fq932Z ~]# sar -d 1 3
Linux 3.10.0-1160.49.1.el7.x86_64 (iZ2ze5vrnucj8nu52fq932Z)   08/25/2023  _x86_64_  (1 CPU)
10:03:55 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:03:56 AM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:03:56 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:03:57 AM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:03:57 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:03:58 AM  dev253-0      1.00      0.00      8.00      8.00      0.00      1.00      2.00      0.20
Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:     dev253-0      0.34      0.00      2.68      8.00      0.00      1.00      2.00      0.07
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
  • tps 每秒从物理磁盘 I/O 的次数。多个逻辑请求会被合并为一个 I/O 磁盘请求,一次传输的大小是不确定的 |
  • rd_sec/s 每秒读扇区的次数
  • wr_sec/s 每秒写扇区的次数
  • avgrq-sz 平均每次设备 I/O 操作的数据大小(扇区)
  • avgqu-sz 磁盘请求队列的平均长度
  • await 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1 秒=1000 毫秒)
  • svctm 系统处理每次请求的平均时间,不包括在请求队列中消耗的时间
  • %utilI/O 请求占 CPU 的百分比,比率越大,说明越饱和 1. avgqu-sz 的值较低时,设备的利用率较高 2. 当%util 的值接近 1% 时,表示设备带宽已经占满

ss

Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效

这个命令也很好用,有时候我们可以通过它统计的信息来判断我们应用程序接口的性能问题,比如程序处理太慢了 或者 应用存在阻塞情况 都可以反应出来

语法:

ss [options] [ FILTER ]1.

直接看使用示例:

###列出已建立的连接

默认情况下,如果我们运行ss命令而没有指定其他选项,它将显示所有已建立连接的打开的非侦听套接字的列表,例如TCP,UDP或UNIX套接字

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss | head -n 5
Netid  State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
u_str  ESTAB      0      0       * 14651                 * 14652                
u_str  ESTAB      0      0       * 122802224             * 122802227            
u_str  ESTAB      0      0       * 16288                 * 16289                
u_str  ESTAB      0      0       * 12717                 * 12718                
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

显示监听套接字

可以看到本地监听的应用程序的端口

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -lt
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
LISTEN      0      128                                                                                        *:http                                                                                                     *:*                    
LISTEN      0      128                                                                                        *:ssh                                                                                                      *:*                    
LISTEN      0      128                                                                                127.0.0.1:hbci                                                                                                     *:*                    
LISTEN      0      100                                                                                127.0.0.1:smtp                                                                                                     *:*                    
LISTEN      0      128                                                                                        *:https                                                                                                    *:*                    
LISTEN      0      128                                                                                127.0.0.1:cslistener                                                                                               *:*                    
LISTEN      0      128                                                                                        *:6379                                                                                                     *:*                    
LISTEN      0      128                                                                                     [::]:http                                                                                                  [::]:*                    
LISTEN      0      128                                                                                     [::]:8788                                                                                                  [::]:*                    
LISTEN      0      100                                                                                    [::1]:smtp                                                                                                  [::]:*                    
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

显示进程

我们可以用-p选项打印出拥有套接字的进程或PID号。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -pl
Netid State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
nl    UNCONN     0      0                                                                                     rtnl:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                     rtnl:dockerd-current/17076                                                                                    *                     
nl    UNCONN     4352   0                                                                                  tcpdiag:ss/4123                                                                                                 *                     
nl    UNCONN     768    0                                                                                  tcpdiag:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                     xfrm:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                     xfrm:dockerd-current/17076                                                                                    *                     
nl    UNCONN     0      0                                                                                  selinux:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                    audit:auditd/432                                                                                              *                     
nl    UNCONN     0      0                                                                                    audit:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                    audit:systemd/1                                                                                               *                     
nl    UNCONN     0      0                                                                                fiblookup:kernel                                                                                                  *                     
nl    UNCONN     0      0                                                                                connector:kernel                                                                                                  *                     
nl    UNCONN     768    0                                                                                connector:AliYunDunMonito/17370                                                                                    *                     
.....
....
......

不解析服务名称

默认情况下,ss只会解析端口号,如果我们指定-n选项,只看到的是端口号而不是服务名称。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -n
Netid State      Recv-Q Send-Q                                                                         Local Address:Port                                                                                        Peer Address:Port              
u_str ESTAB      0      0                                                                                          * 14651                                                                                                  * 14652              
u_str ESTAB      0      0                                                                                          * 122802224                                                                                              * 122802227          
u_str ESTAB      0      0                                                                                          * 16288                                                                                                  * 16289              
u_str ESTAB      0      0                                                                                          * 12717                                                                                                  * 12718              
u_str ESTAB      0      0                                                                /run/systemd/journal/stdout 21999                                                                                                  * 21994              
u_str ESTAB      0      0                                                                                          * 16264                                                                                                  * 16265              
u_str ESTAB      0      0                                                                                          * 16312                                                                                                  * 16313              
u_str ESTAB      0      0                                                                                          * 695194583                                                                                              * 695194582          
u_str ESTAB      0      0                                                                                          * 663856012                                                                                              * 663856013          
u_str ESTAB      0      0                                                                                          * 16292                                                                                                  * 16291              
u_str ESTAB      0      0                                                                                          * 695203061                                                                                              * 695203062          
u_str ESTAB      0      0                                                                                          * 16261                                                                                                  * 16260              
u_str ESTAB      0      0                                                                                          * 16316                                                                                                  * 16315              
u_str ESTAB      0      0                                                                                          * 695194582                                                                                              * 695194583          
u_str ESTAB      0      0                                                                                          * 16254                                                                                                  * 16253              
u_str ESTAB      0      0                                                                                          * 16274                                                                                                  * 16273              
u_str ESTAB      0      0                                                                                          * 16304                                                                                                  * 16303              
u_str ESTAB      0      0                                                                /run/dbus/system_bus_socket 15017                                                                                                  * 15016              
u_str ESTAB      0      0                                                                                          * 539104472                                                                                              * 0                  
u_str ESTAB      0      0                                                                                          * 16286                                                                                                  * 16285              
u_str ESTAB      0      0                                                                /run/systemd/journal/stdout 21446                                                                                                  * 21435              
u_str ESTAB      0      0                                                                /run/systemd/journal/stdout 122802227                   

解析数字地址/端口

用-r选项可以解析IP地址和端口号

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -r
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.141:8257                 
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.203:59573                
tcp   ESTAB      0      0                                                                                localhost:6379                                                                                           localhost:33206                
tcp   FIN-WAIT-2 0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.212:51695                
tcp   ESTAB      0      0                                                                                localhost:6379                                                                                           localhost:35238                
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:60950                                                                                      100.100.27.15:squid                
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:45104                                                                                      100.100.30.26:http                 
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.173:25775                
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.203:34279                
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                     113.219.202.44:46903                
tcp   ESTAB      0      16564                                                              iZ2ze5vrnucj8nu52fq932Z:ssh                                                                                         218.94.54.82:paging-port          
tcp   ESTAB      0      0                                                                  iZ2ze5vrnucj8nu52fq932Z:https                                                                                    113.219.202.212:8507                 
tcp   ESTAB      0      0                                                                                localhost:35238                                                                                          localhost:6379                 
tcp   ESTAB      0      0                                                                                localhost:33206                                                                                          localhost:6379                 
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

IPv4套接字

我们可以通过-4选项只显示与IPv4套接字对应的信息。在下面的例子中,我们还使用-l选项列出了在IPv4地址上监听的所有内容。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -l4
Netid State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
udp   UNCONN     0      0                                                                                        *:bootpc                                                                                                 *:*                    
udp   UNCONN     0      0                                                                                127.0.0.1:323                                                                                                    *:*                    
tcp   LISTEN     0      128                                                                                      *:http                                                                                                   *:*                    
tcp   LISTEN     0      128                                                                                      *:ssh                                                                                                    *:*                    
tcp   LISTEN     0      128                                                                              127.0.0.1:hbci                                                                                                   *:*                    
tcp   LISTEN     0      100                                                                              127.0.0.1:smtp                                                                                                   *:*                    
tcp   LISTEN     0      128                                                                                      *:https                                                                                                  *:*                    
tcp   LISTEN     0      128                                                                              127.0.0.1:cslistener                                                                                             *:*                    
tcp   LISTEN     0      128                                                                                      *:6379                                                                                                   *:*                    
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

IPv6套接字

同样,我们可以使用-6选项只显示与IPv6套接字相关信息。在下面的例子中,我们还使用-l选项列出了在IPv6地址上监听的所有内容。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -l6
Netid State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
udp   UNCONN     0      0                                                                                    [::1]:323                                                                                                 [::]:*                    
tcp   LISTEN     0      128                                                                                   [::]:http                                                                                                [::]:*                    
tcp   LISTEN     0      128                                                                                   [::]:8788                                                                                                [::]:*                    
tcp   LISTEN     0      100                                                                                  [::1]:smtp                                                                                                [::]:*                    
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

只显示TCP

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -lt
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
LISTEN      0      128                                                                                        *:http                                                                                                     *:*                    
LISTEN      0      128                                                                                        *:ssh                                                                                                      *:*                    
LISTEN      0      128                                                                                127.0.0.1:hbci                                                                                                     *:*                    
LISTEN      0      100                                                                                127.0.0.1:smtp                                                                                                     *:*                    
LISTEN      0      128                                                                                        *:https                                                                                                    *:*                    
LISTEN      0      128                                                                                127.0.0.1:cslistener                                                                                               *:*                    
LISTEN      0      128                                                                                        *:6379                                                                                                     *:*                    
LISTEN      0      128                                                                                     [::]:http                                                                                                  [::]:*                    
LISTEN      0      128                                                                                     [::]:8788                                                                                                  [::]:*                    
LISTEN      0      100                                                                                    [::1]:smtp                                                                                                  [::]:*                    
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

显示UDP

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -ul
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
UNCONN      0      0                                                                                          *:bootpc                                                                                                   *:*                    
UNCONN      0      0                                                                                  127.0.0.1:323                                                                                                      *:*                    
UNCONN      0      0                                                                                      [::1]:323                                                                                                   [::]:*                    
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

Unix套接字

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -x
Netid State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
u_str ESTAB      0      0                                                                                        * 14651                                                                                                  * 14652                
u_str ESTAB      0      0                                                                                        * 122802224                                                                                              * 122802227            
u_str ESTAB      0      0                                                                                        * 16288                                                                                                  * 16289                
u_str ESTAB      0      0                                                                                        * 12717                                                                                                  * 12718                
u_str ESTAB      0      0                                                              /run/systemd/journal/stdout 21999                                                                                                  * 21994                
u_str ESTAB      0      0                                                                                        * 16264                                                                                                  * 16265                
u_str ESTAB      0      0                                                                                        * 16312                                                                                                  * 16313                
u_str ESTAB      0      0                                                                                        * 695194583                                                                                              * 695194582            
u_str ESTAB      0      0                                                                                        * 663856012                                                                                              * 663856013            
u_str ESTAB      0      0                                                                                        * 16292                                                                                                  * 16291                
u_str ESTAB      0      0                                                                                        * 695203061                                                                                              * 695203062            
u_str ESTAB      0      0                                                                                        * 16261                                                                                                  * 16260                
u_str ESTAB      0      0                                                                                        * 16316                                                                                                  * 16315                
u_str ESTAB      0      0                                                                                        * 695194582                                                                                              * 695194583      
...
......

显示所有信息

-a选项显示所有的监听和非监听套接字,在TCP的情况下,这意味着已建立的连接。这个选项与其他的组合很有用,例如可以添加-a选项显示所有的UDP套接字,默认情况下只有-u选项我们看不到多少信息。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -u
Recv-Q Send-Q                                                                              Local Address:Port                                                                                               Peer Address:Port                
0      0                                                                                    172.19.17.24:32991                                                                                               100.100.5.2:ntp                  
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 
[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -ua
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
UNCONN      0      0                                                                                          *:bootpc                                                                                                   *:*                    
UNCONN      0      0                                                                                  127.0.0.1:323                                                                                                      *:*                    
UNCONN      0      0                                                                                      [::1]:323                                                                                                   [::]:*   

显示套接字内存使用情况

-m选项可用于显示每个套接字使用的内存量。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -ltm
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
LISTEN      0      128                                                                                        *:http                                                                                                     *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d14584)
LISTEN      0      128                                                                                        *:ssh                                                                                                      *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d37322)
LISTEN      0      128                                                                                127.0.0.1:hbci                                                                                                     *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      100                                                                                127.0.0.1:smtp                                                                                                     *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      128                                                                                        *:https                                                                                                    *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d28159)
LISTEN      0      128                                                                                127.0.0.1:cslistener                                                                                               *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      128                                                                                        *:6379                                                                                                     *:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      128                                                                                     [::]:http                                                                                                  [::]:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      128                                                                                     [::]:8788                                                                                                  [::]:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
LISTEN      0      100                                                                                    [::1]:smtp                                                                                                  [::]:*                    
   skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0,d0)
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

显示TCP内部信息

我们可以使用-i选项请求额外的内部TCP信息。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -lti
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                          Peer Address:Port                
LISTEN      0      128                                                                                        *:http                                                                                                     *:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:1670546 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                        *:ssh                                                                                                      *:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:8594780 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                127.0.0.1:hbci                                                                                                     *:*                    
   cubic rto:1000 mss:536 cwnd:10 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      100                                                                                127.0.0.1:smtp                                                                                                     *:*                    
   cubic rto:1000 mss:536 cwnd:10 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                        *:https                                                                                                    *:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:1150200 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                127.0.0.1:cslistener                                                                                               *:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:95774 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                        *:6379                                                                                                     *:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:26 lastsnd:3259275478 lastrcv:3259275478 lastack:3259275478
LISTEN      0      128                                                                                     [::]:http                                                                                                  [::]:*                    
   cubic rto:1000 mss:536 cwnd:10 lastsnd:3259275484 lastrcv:3259275484 lastack:3259275484
LISTEN      0      128                                                                                     [::]:8788                                                                                                  [::]:*                    
   cubic rto:1000 mss:536 cwnd:10 segs_in:34644 lastsnd:3259275484 lastrcv:3259275484 lastack:3259275484
LISTEN      0      100                                                                                    [::1]:smtp                                                                                                  [::]:*                    
   cubic rto:1000 mss:536 cwnd:10 lastsnd:3259275484 lastrcv:3259275484 lastack:3259275484
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

在每个侦听套接字下面,我们可以看到更多信息。注意:-i选项不适用于UDP,如果您指定-u,而非-t,则不会显示这些额外的信息。

显示统计信息

我们可以使用-s选项快速查看统计数据。

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -s
Total: 229 (kernel 293)
TCP:   21 (estab 7, closed 4, orphaned 0, synrecv 0, timewait 4/0), ports 0
Transport Total     IP        IPv6
*   293       -         -        
RAW   0         0         0        
UDP   3         2         1        
TCP   17        12        5        
INET    20        14        6        
FRAG    0         0         0        
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

这使我们能够快速看到已建立连接的总数,及各种类型的套接字的计数和IPv4IPv6的使用情况。

这里边的指标TCP里边的各值可以给我们很好的参考,正常情况下,服务器性能不差,应用程序性能良好的话, timewait值都会很低,当然这个要跟连接数一起比较,如果哪天彪的很高,这个时候你就要注意了是不是应用程序哪个环节有问题,导致出现了性能问题。

根据端口号进行过滤

可以通过过滤还可以列出小于(lt),大于(gt),等于(eq),不等于(ne),小于或等于(le),或大于或等于(ge)的所有端口

[root@iZ2ze5vrnucj8nu52fq932Z ~]# ss -ltn sport gt 500
State       Recv-Q Send-Q                                                                           Local Address:Port                                                                                          Peer Address:Port              
LISTEN      0      128                                                                                  127.0.0.1:3000                                                                                                     *:*                  
LISTEN      0      128                                                                                  127.0.0.1:9000                                                                                                     *:*                  
LISTEN      0      128                                                                                          *:6379                                                                                                     *:*                  
LISTEN      0      128                                                                                       [::]:8788                                                                                                  [::]:*                  
[root@iZ2ze5vrnucj8nu52fq932Z ~]# 

结束语

命令很多,大家不用去背,可以放到便签之类的工具中,用到的时候翻一下就好~

本着把自己知道的都告诉大家,如果本文对您有所帮助,点赞+关注鼓励一下呗~

相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
15 2
|
24天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
171 5
|
24天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
72 4
|
11天前
|
缓存 监控 Linux
|
14天前
|
Linux Shell 数据安全/隐私保护
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议
|
22天前
|
监控 Linux Shell
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3