Linux作为服务器领域和开发领域的核心技术栈,其命令行操作能力始终是技术面试的核心考察点。掌握Linux常用命令不仅体现应聘者对操作系统的理解深度,更能反映其实际问题解决能力和生产环境经验。面试官通过命令行提问,可快速评估候选人是否具备系统管理、故障排查、自动化脚本编写等关键技能。从基础的文件操作到复杂的进程管理,从权限控制到网络配置,每类命令都承载着特定的技术场景。值得注意的是,面试中不仅要求熟练使用命令,还需理解参数逻辑、命令组合原理及实际应用场景。例如,grep与awk的配合使用、chmod权限计算的底层机制、top命令的实时系统监控等,均能区分初级操作者与资深系统管理员。本文将从八个维度系统梳理Linux面试高频命令,结合实战场景解析核心要点。
一、文件与目录操作命令
核心命令组
命令 | 用途 | 常用选项 | 示例 |
---|---|---|---|
ls | 列出目录内容 | -l(详细信息), -a(显示隐藏文件), -h(人类可读格式) | ls -lha /etc |
cp | 复制文件或目录 | -r(递归复制), -p(保留属性), -u(仅更新) | cp -r /src/ /dst/ |
mv | 移动或重命名文件 | -f(强制覆盖), -n(不覆盖), -b(备份覆盖) | mv file1 file2; mv dir/ /newpath/ |
rm | 删除文件或目录 | -r(递归删除), -f(强制删除), -i(交互确认) | rm -rf /tmp/* |
注意事项:
cp -a
可完全保留文件属性(等效于-dR --preserve=all
)mv
操作跨分区时视为复制+删除,需注意性能消耗rm -rf
需谨慎使用,建议先rm -i
确认敏感文件
二、用户与权限管理命令
核心命令组
命令 | 用途 | 权限修改对象 | 数值表示法 |
---|---|---|---|
chmod | 修改文件权限 | 用户/组/其他 | 755(rwxr-xr-x) |
chown | 更改文件所有者 | 用户:组 | root:root |
sudo | 以超级用户执行命令 | 指定用户 | sudo -u postgres psql |
权限计算逻辑:
- 三位数分别对应所有者、所属组、其他用户的读写执行权限(4=读,2=写,1=执行)
setfacl
可设置ACL(访问控制列表),适用于多用户共享场景/etc/sudoers
配置文件控制免密权限,visudo
命令建议用于编辑
三、进程与服务管理命令
核心命令组
命令 | 功能 | 适用场景 | 输出特点 |
---|---|---|---|
ps | 静态进程快照 | 查看特定进程状态 | 需配合`aux`等参数使用 |
top | 动态进程监控 | 实时查看CPU/内存占用 | 交互式排序与过滤 |
kill | 终止指定进程 | 精准关闭失控进程 | 需配合信号(如-9强制杀) |
systemctl | 管理系统服务 | 启动/停止/重启服务 | 支持service兼容调用 |
扩展工具对比:
htop
提供更友好的界面(上下键排序,F4删除进程)pgrep
按名称筛选PID(如pgrep -f "java -jar"
)pstree
以树状图展示进程关系(如pstree -p
)
四、网络配置与诊断命令
核心命令组
命令 | 功能层级 | 典型参数 | 输出示例 |
---|---|---|---|
ifconfig | 基础网络配置 | eth0 down/up, mask 255.255.255.0 | inet 192.168.1.10 netmask 255.255.255.0 |
ip | 新一代网络工具 | addr show, link set, route add | 2: eth0: mtu 1500 qdisc mq state UP |
netstat | 网络状态监控 | -tulnp, -a, -c | TCP 0.0.0.0:80 0.0.0.0:* LISTEN |
ping | 连通性测试 | -c次数, -s包大小, -I接口 | 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 |
诊断工具链:
traceroute
定位路径延迟(如traceroute google.com
)ss -tulpn
替代netstat
显示更详细端口信息tcpdump
抓包分析(如tcpdump -i eth0 port 80
)
五、磁盘与存储管理命令
核心命令组
命令 | 功能范畴 | 关键选项 | 特殊用途 |
---|---|---|---|
df | 文件系统容量 | -h(人类可读), -T(显示类型), -i(inode使用率) | 监控分区剩余空间预警 |
du | 目录磁盘占用 | -sh(汇总统计), -d N(深度限制), --max-depth=1 | 快速定位大文件目录 |
fdisk | 磁盘分区工具 | -l(列出分区表), m(手动修改), p(打印当前分区) | /dev/sda设备操作需谨慎 |
mount | 挂载文件系统 | -o选项(如ro只读), -a(自动挂载/etc/fstab), LABEL=xxx | 紧急修复未挂载分区 |
扩展场景:
lsblk
图形化显示块设备树状结构(类似Windows磁盘管理)xfs_io
测试文件系统吞吐量(如xfs_io -r rw -s 1M test.xfs
)resize2fs
调整ext4文件系统大小(需卸载分区后操作)
六、文本处理与编辑命令
核心命令组对比表
命令 | 核心功能 | 典型应用场景 | 正则支持 |
---|---|---|---|
grep | 模式匹配搜索 | 日志文件中提取错误行 | 支持Extended Regex |
sed | 流式文本编辑 | 批量替换配置文件内容 | 基础正则(需转义) |
awk | 字段分割处理 | 统计访问日志TOP IP | 内建正则匹配引擎 |
组合使用示例:
# 提取nginx日志中状态码非200的IP并排序
cat access.log | grep -v "200" | awk '{print $1}' | sort | uniq -c | sort -nr
七、系统监控与日志命令
核心命令组对比表
命令 | 监控维度 | 数据更新频率 | 交互功能 |
---|---|---|---|
top | 进程/CPU/内存 | 实时刷新(默认3秒) | 按键排序/过滤进程 |
vmstat | 内存/swap/IO/CPU等待 | 每秒更新一次 | 无交互操作 |
iostat | 磁盘/存储设备性能 | 默认每2秒采样 | 可指定设备监控 |
dmesg | 内核日志与硬件信息 | 持续追加新消息 | 支持关键字过滤(如| grep USB) |
日志分析技巧:
journalctl -xe
查看系统日志详细错误信息tail -f /var/log/syslog
实时跟踪日志新增内容less +/keyword
快速定位日志文件中的关键行
发表评论