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: 启动该进程的具体命令
相关推荐
guo_wen_qiang2 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
小五传输3 小时前
消防总队信创改造实践:国产文件传输服务器解决文件传输难题
大数据·运维·安全
云飞云共享云桌面3 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
T型码农要学习3 小时前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
朱 欢 庆3 小时前
云服务器附件备份到本机内网服务器
运维·服务器·前端·经验分享
智恒百亿3 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
小弥儿5 小时前
开源 VoiceStudio,声音克隆|配音|有声书一站式本地完成
学习·开源·github
点心的游戏开发世界8 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
志栋智能8 小时前
超自动化运维如何支持合规审计?
运维·自动化
小诗懂技术8 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络