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: 启动该进程的具体命令
相关推荐
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
未济3 天前
linux 配置环境变量
linux
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
爱吃苹果的日记本3 天前
离散数学第六课
学习·离散数学
_艾伦 耶格尔.3 天前
进程间通信
linux
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控