一、文件与目录操作(必考题)
基础命令:
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.com
ping4次)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限制资源)。