一、系统版本
1. uname -a:查看系统内核版本
命令类型:系统调用/内置核心工具(属于 GNU coreutils 核心工具包)
常用参数:
uname -a:显示全部系统信息(内核名、主机名、内核版本、编译时间、架构等)。
uname -r:仅显示内核版本号(如 5.15.0-88-generic)。
使用场景:当你需要确认当前系统的 Linux 内核版本(以判断是否支持某些底层特性或安全补丁)时使用。
2. hostnamectl:查看系统全面信息
命令类型:系统服务管理命令(systemd 工具集的一部分)。
常用参数:直接输入 hostnamectl 或 hostnamectl status。
输出内容:它会优雅地展示静态主机名、操作系统发行版(Operating System)、内核版本(Kernel)、硬件架构(Architecture)等。
使用场景:现代 Linux 系统(CentOS 7+, Ubuntu 16.04+)中最推荐的命令,一条命令看全所有信息。
3. cat /etc/os-release:查看发行版信息
命令类型:文本查看命令(利用 cat 读取系统配置文件)。
原理:/etc/os-release 是一个符合自由桌面(Freedesktop.org)标准的配置文件,几乎所有现代 Linux 发行版都包含它。
使用场景:编写自动化脚本时最常用,因为它的输出是通用的 KEY=VALUE 格式(如 NAME="Ubuntu", VERSION="22.04 LTS"),极易被脚本解析。
二、性能与资源监控(系统瓶颈排查)
面试官:“服务响应变慢/卡死了,你上服务器怎么排查?”
(一)系统整体负载
第一步:先看系统整体负载,定位瓶颈大类(CPU / 内存 / IO)
1.先执行 uptime 查看 1、5、15 分钟平均负载,判断服务器整体压力是否过高。
2.执行 top 查看实时资源:
l 按 P 看 CPU 占用最高进程,M 看内存占用最高进程;
l 按 1 查看每个 CPU 核心使用率;
l 重点观察三个指标:
%us 用户 CPU 高:业务程序代码消耗 CPU;
%wa IO 等待高:磁盘读写瓶颈;
Swap 交换分区大量使用:物理内存不足。
(二)CPU瓶颈
第二步:如果怀疑 CPU 瓶颈
1.top 找到高 CPU 的进程 PID;
2.用 ps -ef | grep PID 确认是哪个服务;
3.java 程序 jstack PID > stack.log 确定代码位置
临时操作 kill -9 PID
(三)CPU内存耗尽
1.free -h 查看系统当前内存
2.sync 同步数据
3.可重启服务器解决或者
Top 查询高内存PID kill -9 PID
(四)磁盘空间
1. df -h 确认哪个分区满了
2. Cd / 进入根目录 定位大文件
Du -sh *
3.rm -f 文件名 清除过期、无用日志文件
三、CPU型号
1.lscpu(推荐,格式化清晰)
直接展示:CPU 型号、架构、核心、线程、主频、缓存等所有信息。
2.cat /proc/cpuinfo
#proc 英文程序 内存虚拟目录
/proc/cpuinfo 是一个虚拟文件,记录了CPU的原始详细信息
Linux 系统把 CPU 信息存在这个虚拟文件中。如果你只想看型号,可以用 grep 过滤一下:

关键字段说明
model name:CPU 型号(最关键)
cpu cores:物理核心数
siblings:逻辑 CPU 总数
processor:逻辑 CPU 编号
physical id:物理 CPU 插槽 ID
四、网络与连接
(一)查看网卡、IP状态
1. ip address (或 简写 ip a)
ifconfig
作用: 查看所有网卡的 IP 地址、MAC 地址和状态(UP/DOWN)。
备忘: 老旧系统用 ifconfig,现代系统推荐 ip 命令。
2.ip link
作用: 专门查看链路层状态,确认网卡物理上是否连接(比如网线插好没)。
3. ethtool <网卡名>
作用: 查看网卡的物理属性(速度 Speed、双工模式 Duplex、网线连接状态 Link detected)
(二)查看端口监听、进程占用(高频)
1. netstat -tulnp(传统命令)
2. ss -tulnp(推荐,比 netstat 快,海量连接场景性能好)
• -t TCP、-u UDP、l 监听、n 不解析域名、p 显示进程 PID
3. 根据端口查进程:
(三)连通性、延迟、丢包排查
1. ping 目标IP/域名
测试三层网络连通、延迟、是否丢包
2. traceroute IP
路由追踪,定位哪一跳网络延迟高、断网
3. telnet IP 端口
测试 TCP 端口是否可通
4. curl -I http://ip:port / wget
测试应用层接口能否正常访问
(四)抓包分析(定位请求异常、丢包、重传)
抓包文件可以用 Wireshark 打开详细分析。
(五)防火墙、路由排查
1. 查看路由表
2. 防火墙放行规则
五、文件和文本处理
(一)文件操作命令
1. cd 切换目录、pwd 当前路径、ls -lh 详细列表
2. mkdir -p a/b/c 递归创建目录
3. rm -rf 删除(面试必提醒:慎用,禁止直接 rm -rf /)
4. cp 复制、mv 移动 / 重命名
5. chmod 755 file 权限、chown user:group file 修改属主属组
6. ln -s 源 软链接 创建软链接
(二)文件查看 & 日志排查(最常用)
1. cat:小文件全量查看
2. more / less:分页查看大日志
l less:最推荐的分页查看工具。支持向前/向后翻页、关键词搜索。
快捷键:Space(下翻页)、b(上翻页)、/向后搜索、?向前搜索、q(退出)。
l more:早期的分页工具,只能向前翻页,功能不如 less 强大。
3. 查看文件首尾
l head:查看文件的前几行(默认 10 行)。
head -n 20 file.txt(查看前 20 行)
l tail:查看文件的后几行(默认 10 行)。
tail -n 20 file.txt(查看后 20 行)
tail -f log.txt:实时追踪文件末尾的更新,排查日志必备。
4. grep "关键词" xxx.log 过滤日志
○ -i忽略大小写;-v反向过滤;-n显示行号
5. find / -name "*.log" 全局查找文件
(三)常用压缩解压命令
1. tar 命令
tar 命令几乎可以处理 Linux 下 90% 的压缩包。它的核心参数非常固定,你只需要记住两套组合拳:
❶ 压缩(打包)公式
tar -[压缩格式参数]cvf 压缩包名.tar.[格式] 要压缩的文件或目录
· -c:创建新的压缩包(Create)
· -v:显示压缩过程(Verbose,可选)
· -f:指定压缩包的文件名(File,必须作为最后一个参数,后面直接紧跟文件名)
❷ 解压(释放)公式
tar -[压缩格式参数]xvf 压缩包名.tar.[格式] [-C 目标目录]
· -x:解压/释放文件(eXtract)
· -C:大写 C,指定解压到哪个目录下(如果不加,默认解压到当前目录)
�� 针对不同格式,替换其中的 [压缩格式参数]:
根据不同的压缩算法,tar 的参数和文件后缀如下:


2. 跨平台神器:zip 与 unzip
如果需要和 Windows 用户交换文件,.zip 是最佳选择,因为 Windows 原生支持。

六、进程管理
1. ps:查看静态进程快照
核心用法:ps -ef | grep java 或 ps aux | grep nginx(查看某个服务进程是否还在运行,并获取其 PID)。
2. kill:终止进程
核心用法:
kill PID:发送 SIGTERM (15) 信号,尝试优雅关闭进程。
kill -9 PID:发送 SIGKILL (9) 信号,强制杀死进程(常问 15 和 9 的区别)。
3. 后台运行进程 nohup
命令拆解(非常核心):
• nohup ... &:头尾组合,代表后台运行且免疫终端关闭。
• > output.log:将标准输出(原本打印在屏幕上的内容)重定向到 output.log 文件中。
• 2>&1:将错误输出(2)也合并到标准输出(1)中,这样报错和正常日志都会写进同一个文件。
linux 常用命令总结
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法