一、文件/目录操作实战(7天)
核心目标
掌握文件增删改查、权限管理、软硬链接、归档压缩,脱离手册完成操作。
实战案例
1. 目录结构搭建与文件操作
任务:在 /opt下创建linux_practice目录,再新建bin、conf、log、data4个子目录;在log下创建 sys.log、app.log,写入Linux基础实战,复制 sys.log到data,重命名为sys_bak.log,删除conf下空文件。
命令:mkdir -p /opt/linux_practice/{bin,conf,log,data}、touch、echo >、cp、mv、rm。
2. 权限精细化管理
任务:创建test_user用户,将/opt/linux_practice/data权限设为test_user读写、同组读、其他无权限;给bin目录添加执行权限,让普通用户可进入;用chmod数字+符号两种方式修改app.log权限为640。
命令:useradd、chown、chmod、ls -l验证。
3. 软硬链接与归档压缩
任务:给sys.log创建硬链接sys_hard.link、软链接sys_soft.link,删除原文件验证链接差异;将log目录打包为log.tar.gz,解压到data下并保留权限。
命令:ln、tar -zcvf、tar -zxvf、stat查看链接数。
4. 文件查找与内容筛选
任务:查找系统中所有.log后缀文件,筛选大小>10M的;查找/etc下包含root的配置文件;用grep过滤sys.log中含error的行,显示行号。
命令:find / -name "*.log" -size +10M、grep -r "root" /etc、grep -n "error" log/sys.log。
二、用户/组与权限实战(3天)
核心目标
掌握用户组创建、权限归属、特殊权限(SUID/SGID/Sticky),解决权限拒绝问题。
实战案例
1. 用户组管理与切换
任务:创建 dev组,添加user1、user2到组;设置user1密码,切换用户验证组权限;锁定user2账号,解锁后查看账号状态。
命令:groupadd、usermod -aG、passwd、su -、usermod -L/-U、id。
2. 特殊权限实战
任务:给/usr/bin/passwd加SUID(默认已存在,验证效果);给/opt/linux_practice/share加SGID,让新建文件继承组权限;给/tmp验证Sticky权限,测试其他用户删除文件。
命令:chmod u+s、chmod g+s、ls -ld /tmp。
3. 权限故障排查
任务:模拟"权限拒绝":将app.log设为600,用user1访问报错;排查并修改权限解决;查找系统中所有SUID文件,检查异常权限。
命令:ls -l、chmod、find / -perm -u+s -type f。
三、进程/服务管理实战(5天)
核心目标
掌握进程查看、启停、优先级调整、服务管理,排查进程异常(CPU/内存占用高、僵尸进程)。
实战案例
1. 进程查看与监控
任务:用top/htop实时监控系统,按CPU/内存排序;用ps -ef/ps aux查看所有进程,筛选sshd进程;用pgrep查找nginx进程号,pstree查看进程树。
命令:top(按M/P排序)、htop、ps -ef | grep sshd、pgrep nginx、pstree。
2. 进程控制与优先级
任务:启动sleep 300后台进程,用jobs查看,fg调前台,bg放回后台;用kill终止该进程,模拟kill -9强制终止;用nice/renice调整进程优先级(如nginx优先级设为-5)。
命令:sleep 300 &、jobs、fg %1、kill PID、nice -n -5 nginx、renice -5 PID。
3. 服务管理(Systemd)
任务:启动/停止/重启sshd、crond服务,设置开机自启/禁用;查看服务状态active/inactive,排查服务启动失败原因(如配置错误);创建自定义服务(如test.service),实现开机自启后台脚本。
命令:systemctl start/stop/restart/disable/enable/status、journalctl -u 服务名 查日志。
4. 进程异常排查
任务:模拟CPU占用高(运行while true; do :; done &),用top定位进程并终止;模拟僵尸进程,用ps aux | grep Z查找,通过杀父进程回收;排查内存泄漏进程,查看进程占用内存排行。
命令:top、ps aux | grep Z、kill PPID、ps aux --sort=-%mem | head -10。
四、磁盘管理与故障排查(4天)
核心目标
掌握磁盘查看、分区、挂载、磁盘满/IO高排查,清理磁盘空间。
实战案例
1. 磁盘信息查看与分析
任务:用df -h查看磁盘使用率,筛选使用率>80%的分区;用du -sh查看/opt目录总大小,du -ah排序查看大文件;用lsblk/fdisk -l查看磁盘分区结构。
命令:df -h、du -sh /opt、du -ah / | sort -rh | head -10、lsblk。
2. 分区与挂载实战
任务:模拟新增磁盘(虚拟机添加虚拟盘),用fdisk创建主分区,格式化为ext4;临时挂载到/mnt/data,写入/etc/fstab实现开机自动挂载,验证挂载生效。
命令:fdisk /dev/sdb、mkfs.ext4 /dev/sdb1、mount、umount、vim /etc/fstab、mount -a。
3. 磁盘满故障排查
任务:模拟磁盘满(dd if=/dev/zero of=/tmp/full bs=1G count=5),用df -i排查inode满;查找大文件/日志(如 /var/log)清理;排查已删除但未释放的文件(lsof | grep deleted),重启进程释放空间。
命令:dd、df -i、lsof | grep deleted、rm -rf 大日志、systemctl restart 服务名。
4. 磁盘IO高排查
任务:用iostat查看磁盘IO使用率,iotop定位高IO进程;模拟高IO(cp /dev/sda /tmp/test),排查并终止进程;优化磁盘读写(如调整日志刷盘策略)。
命令:iostat -x 1 3、iotop、kill 高IO进程。
五、网络配置与排查实战(4天)
核心目标
掌握IP配置、端口查看、网络连通性、防火墙管理,排查网络不通、端口占用问题。
实战案例
1. 网络配置与查看
任务:用ip a/ifconfig查看网卡IP、MAC地址;临时修改网卡IP(如eth0设为192.168.1.100),永久修改配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0);重启网络服务验证。
命令:ip a、ip addr add、systemctl restart network。
2. 端口与连通性排查
任务:用ss -tuln/netstat -tuln查看监听端口,筛选80/22端口;用ping/traceroute测试连通性,排查丢包;用telnet/nc测试远程端口是否开放(如测试192.168.1.10 80端口)。
命令:ss -tuln、ping、traceroute、telnet IP 端口、nc -zv IP 端口。
3. 防火墙管理(firewalld)
任务:启动firewalld,开放80/22端口,禁止外部访问3306端口;查看防火墙规则,添加永久规则并重载;模拟防火墙拦截,排查访问失败问题。
命令:firewall-cmd --add-port=80/tcp --permanent、--reload、--list-all。
4. 网络异常排查
任务:排查"无法访问外网"(检查网关、DNS、路由表);排查端口占用(如80端口被占用,用ss -tuln | grep 80定位进程并终止);排查DNS解析失败(修改/etc/resolv.conf)。
命令:ip route、cat /etc/resolv.conf、ss -tuln | grep 端口、kill PID。
六、日志分析(grep/awk/sed)与故障排查(7天)
核心目标
熟练用三剑客分析日志,排查服务启动失败、登录异常、应用报错等问题。
实战案例
1. grep日志筛选
任务:筛选/var/log/secure中所有"Failed password"(登录失败)行,统计次数;筛选sys.log中近1小时的"error"日志,导出到 error.log;忽略大小写筛选含"warning"的行。
命令:grep "Failed password" /var/log/secure | wc -l、grep -i "warning" sys.log、grep -E "error|fail" sys.log。
2. awk日志统计与格式化
任务:用awk统计access.log中各IP访问次数,取Top10;提取日志中第3列(状态码),统计404/500错误数;格式化输出日志的"时间-IP-请求路径"。
命令:awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10、awk '$9==404 {count++} END {print count}'。
3. sed文本替换与编辑
任务:用sed替换app.log中所有"old"为"new",备份原文件;删除日志中所有空行;在 conf`文件指定行后添加配置(如在第5行后添加 max_connections=1000)。
命令:sed -i.bak 's/old/new/g' app.log、sed '/^$/d' log、sed -i '5a max_connections=1000' conf。
4. 综合故障排查(日志+命令)
任务:排查sshd启动失败(journalctl -u sshd查日志,定位配置错误);排查磁盘满导致服务宕机(df -h+du+lsof`组合排查);排查用户无法登录(/var/log/secure+权限检查)。
工具组合:grep+awk统计异常、sed修复配置、systemctl重启服务。
七、每日实操与验收标准落地
每日实操计划(2小时/天)
1. 1小时:复现当日案例,命令不查手册,记录易错点;
2. 30分钟:模拟故障(如权限拒绝、磁盘满、进程异常),独立排查;
3. 30分钟:整理命令清单,复盘当日知识点,补充到个人笔记。
验收标准验证
1. 命令熟练度:随机抽查50+常用命令ls/chmod/ps/systemctl/df/grep等,100%不查手册完成;
2. 故障排查:独立解决3类核心问题——进程异常(CPU/内存高)、磁盘满(空间/inode)、权限问题(访问拒绝),10分钟内定位并解决;
3. 日志分析:用grep/awk/sed完成日志筛选、统计、替换,输出指定结果。