一、文件与目录操作(必考题)
基础命令:
ls:列出文件(ls -la显示详细信息,ls -h带单位显示大小)cd:切换目录(cd ~到用户家目录,cd -返回上一次目录)mkdir:创建目录(mkdir -p a/b/c递归创建多层目录)rm:删除文件(rm -rf dir强制递归删除目录,需谨慎!)cp:复制文件(cp -r src dst复制目录)mv:移动/重命名文件(mv old new重命名,mv file dir移动)
进阶操作:
find:查找文件(find / -name "*.log" -type f查找系统中所有log文件)locate:快速定位文件(需先执行updatedb更新索引)tree:树形展示目录结构(需安装yum install tree)
二、文件内容处理(高频场景题)
查看文件:
cat:显示全部内容(cat file1 file2 > new合并文件)head/tail:查看首尾内容(tail -f log.txt实时追踪日志)more/less:分页查看(less -N file显示行号,按q退出)
文本处理三剑客:
grep:搜索关键词(grep "error" log.txt查找含error的行)awk:格式化处理(awk '{print $1,$3}' file打印第1和第3列)sed:流编辑(sed 's/old/new/g' file全局替换old为new)
三、权限与用户管理(安全考点)
权限命令:
chmod:修改权限(chmod 755 script.sh赋予执行权限)chown:修改所有者(chown user:group file)umask:设置默认权限掩码(如umask 022生成文件权限644)
用户与组:
useradd:创建用户(useradd -m user生成家目录)passwd:设置密码(passwd user,普通用户只能改自己密码)usermod:修改用户属性(usermod -aG sudo user添加到sudo组)
四、进程与服务管理(性能排查核心)
进程监控:
ps:查看进程(ps -ef | grep java查Java进程)top:实时监控(按P以CPU排序,按M以内存排序)htop:交互式进程视图(比top更直观,需安装)
服务控制:
systemctl:Systemd服务管理(systemctl start/stop/mysql)service:传统服务管理(service httpd restart,兼容旧系统)kill:终止进程(kill -9 PID强制终止)
五、系统状态与性能分析(高阶考点)
资源监控:
df:磁盘空间(df -h以易读格式显示)du:目录大小(du -sh /var/log查看日志目录大小)free:内存使用(free -h显示物理内存和swap)
性能工具:
vmstat:系统整体性能(vmstat 1每秒刷新一次)iostat:磁盘IO(iostat -x 1查看详细IO统计)netstat:网络连接(netstat -tuln查看监听端口)
六、网络与远程操作(运维必备)
网络配置:
ifconfig/ip:查看网络接口(ip addr show eth0)ping:测试连通性(ping -c 4 www.baidu.comping4次)traceroute:追踪路由(traceroute www.google.com)
远程连接:
ssh:远程登录(ssh user@192.168.1.1)scp:远程复制(scp local.txt user@host:/path)sftp:安全文件传输(交互式命令行)
七、Shell 脚本与自动化(加分项)
脚本示例:
#!/bin/bash
# 备份日志并清理7天前文件
LOG_DIR="/var/log/app"
BACKUP_DIR="/backup/$(date +%Y%m%d)"
OLDDATE=$(date -d "7 days ago" +%Y%m%d)
mkdir -p $BACKUP_DIR
cp $LOG_DIR/*.log $BACKUP_DIR
rm -f $LOG_DIR/*$OLDDATE*.log
echo "备份完成于 $(date)"
实用工具:
xargs:批量执行命令(find . -name "*.txt" | xargs grep "keyword")watch:定时执行命令(watch -n 5 df -h每5秒查看磁盘空间)
八、问题
问题1:如何查找占用CPU最高的进程?
- 回答:
- 用
top命令实时查看,按P键以CPU使用率排序; - 或用
ps -eo pid,ppid,%cpu,command | sort -k3 -r | head快速排序。
- 用
问题2:如何统计日志中出现最多的IP?
- 回答:
(解释:过滤日志→取IP列→排序→统计重复次数→降序排列→取前10)grep "access" access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head
问题3:误删了重要文件,如何恢复?
- 回答:
- 立即停止服务器写入操作,避免数据覆盖;
- 使用
extundelete工具(需提前安装,且文件系统为ext4):extundelete /dev/sda1 --restore-file path/to/file - 若为数据库文件,可通过备份或日志恢复(如MySQL的binlog)。
九、总结
- 命令组合思维:强调“用管道(
|)和工具链解决复杂问题”,如find + xargs + grep的联动; - 安全意识:提到
rm -rf的风险,建议先用ls -la确认再操作; - 实战案例:举例“曾用
vmstat发现内存泄漏,通过top定位到异常进程并优化”; - 扩展知识:提及
systemd与传统init的区别,或容器化场景下的Linux优化(如cgroups限制资源)。