linux 常用命令学习

文章目录

  • [netstat -lntp](#netstat -lntp)
    • [ss -lntp](#ss -lntp)
  • [ps aux](#ps aux)

netstat -lntp

含义:查看当前系统正在监听(Listening)的 TCP 网络端口及其对应的进程。

netstat 是 "Network Statistics" 的缩写。这是一个经典的老牌工具。

参数详解:

  • -l (listening):只显示正在监听的套接字(即正在等待连接的服务,如 Web 服务器等待 HTTP 请求)。如果不加此项,还会显示已经建立连接(ESTABLISHED)的会话。
  • -n (numeric):直接显示数字形式的 IP 地址和端口号,不去尝试解析域名或服务名(例如显示 80 而不是 http,显示 127.0.0.1 而不是 localhost)。这能显著提高命令执行速度。
  • -t (tcp):只显示 TCP 协议的连接。如果不加,可能还会显示 UDP 或 Unix Socket。
  • -p (program):显示占用该端口的进程 ID (PID) 和 程序名称。

ss -lntp

含义:与 netstat -lntp 含义完全相同,是其现代化的替代品。

ss 是 "Socket Statistics" 的缩写。

参数详解:

  • -l:显示监听状态的 socket。
  • -n:不解析服务名称(显示数字)。
  • -t:只显示 TCP socket。
  • -p:显示对应的进程信息(同样需要 root 权限才能看全)。
    为什么用 ss 而不是 netstat?
  • 速度更快:netstat 是通过读取 /proc 文件系统来获取信息的,当连接数成千上万时,速度会很慢。
  • ss 直接从内核空间获取信息(利用 Netlink 机制),在高并发场景下效率极高。
    现状:在许多极简版的 Linux 发行版(如某些 Docker 镜像或 CentOS 7/8 最小化安装)中,默认可能没有 netstat,但通常会有 ss

ps aux

含义:查看系统中当前运行的所有进程的详细信息。

ps 是 "Process Status"(进程状态)的缩写。aux 是 BSD 风格的参数组合(注意这里通常不加短横线 -,虽然加了也能用)。

参数详解:

  • a (All):显示所有用户的进程(不仅仅是当前用户的),通常指包含终端(tty)的进程。
  • u (User):以用户为主的格式进行显示(显示启动进程的用户、CPU、内存占用等详细信息)。
  • x:显示没有控制终端的进程(通常是后台服务、守护进程,如 nginx、mysql 等)。

常用场景:

  • CPU 或内存飙高时,查找是哪个进程在占用资源。
  • 查看某个服务(如 python 脚本)是否正在运行。
  • 获取进程的 PID(进程 ID),以便将其杀掉(kill)。

输出关键列解释:

  • USER: 运行该进程的用户。
  • PID: 进程 ID。
  • %CPU: CPU 占用率。
  • %MEM: 内存占用率。
  • VSZ / RSS: 虚拟内存和物理内存占用量。
  • STAT: 进程状态(R=运行, S=睡眠, Z=僵尸进程等)。
  • COMMAND: 启动该进程的具体命令
相关推荐
云智慧AIOps社区2 分钟前
MSP 的增长瓶颈不在客户,在交付模式:人效与规模如何兼得?
运维·人工智能·自动化运维
Linux系统运维工程师_郭主任5 分钟前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent16 分钟前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
HAHAXX833 分钟前
淘宝RPA定时拉取交易数据实战:从人工录单报错到自动化对账全流程复盘
运维·自动化·rpa
辣知43 分钟前
辣知·化智82 人类文明演化规律文化传承
学习
Coisinier1 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
A心有千千结2 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github
fengkai45452 小时前
十三、Zabbix 监控
运维·服务器·zabbix·监控·网络设备
古法老登瞎折腾2 小时前
大数据智能运维实战(二):准备一个可复现的运维实验环境
java·大数据·运维·spring ai·mcp
书生执笔画浮沉2 小时前
Linux 内核模块为什么不能自己解决兼容性问题?
linux·c·kernel·update·灵感