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: 启动该进程的具体命令
相关推荐
炽烈小老头16 小时前
【每天学习一点算法 2026/03/17】括号生成
前端·学习·typescript
艾莉丝努力练剑16 小时前
【脉脉】AI创作者崛起:掌握核心工具,在AMA互动中共同成长
运维·服务器·c++·人工智能·安全·企业·脉脉
似水明俊德16 小时前
01-C#.Net-泛型-学习笔记
java·笔记·学习·c#·.net
今儿敲了吗16 小时前
python基础学习笔记第三章
笔记·python·学习
九皇叔叔17 小时前
CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)
linux·阿里云·centos
hua8722217 小时前
Golang 构建学习
java·开发语言·学习
chinesegf18 小时前
DNS 验证验证SSL证书
linux·服务器·网络
未佩妥剑,已入江湖19 小时前
docker Windows下安装
运维·windows·docker·容器
试试勇气19 小时前
Linux学习笔记(十七)--线程概念
linux·笔记·学习
LXY_BUAA19 小时前
《嵌入式操作系统》_高级字符设备驱动_20260316
linux·运维·服务器·驱动开发