一、文件/目录操作实战(7天)

核心目标

掌握文件增删改查、权限管理、软硬链接、归档压缩,脱离手册完成操作。

实战案例

1. 目录结构搭建与文件操作

任务:在 /opt下创建linux_practice目录,再新建bin、conf、log、data4个子目录;在log下创建 sys.log、app.log,写入Linux基础实战,复制 sys.logdata,重命名为sys_bak.log,删除conf下空文件。

命令:mkdir -p /opt/linux_practice/{bin,conf,log,data}touchecho >cpmvrm

2. 权限精细化管理

任务:创建test_user用户,将/opt/linux_practice/data权限设为test_user读写、同组读、其他无权限;给bin目录添加执行权限,让普通用户可进入;用chmod数字+符号两种方式修改app.log权限为640

命令:useraddchownchmodls -l验证。

3. 软硬链接与归档压缩

任务:给sys.log创建硬链接sys_hard.link、软链接sys_soft.link,删除原文件验证链接差异;将log目录打包为log.tar.gz,解压到data下并保留权限。

命令:lntar -zcvftar -zxvfstat查看链接数。

4. 文件查找与内容筛选

任务:查找系统中所有.log后缀文件,筛选大小>10M的;查找/etc下包含root的配置文件;用grep过滤sys.log中含error的行,显示行号。

命令:find / -name "*.log" -size +10Mgrep -r "root" /etcgrep -n "error" log/sys.log

二、用户/组与权限实战(3天)

核心目标

掌握用户组创建、权限归属、特殊权限(SUID/SGID/Sticky),解决权限拒绝问题。

实战案例

1. 用户组管理与切换

任务:创建 dev组,添加user1、user2到组;设置user1密码,切换用户验证组权限;锁定user2账号,解锁后查看账号状态。

命令:groupaddusermod -aGpasswdsu -usermod -L/-Uid

2. 特殊权限实战

任务:给/usr/bin/passwdSUID(默认已存在,验证效果);给/opt/linux_practice/shareSGID,让新建文件继承组权限;给/tmp验证Sticky权限,测试其他用户删除文件。

命令:chmod u+schmod g+sls -ld /tmp

3. 权限故障排查

任务:模拟"权限拒绝":将app.log设为600,用user1访问报错;排查并修改权限解决;查找系统中所有SUID文件,检查异常权限。

命令:ls -lchmodfind / -perm -u+s -type f

三、进程/服务管理实战(5天)

核心目标

掌握进程查看、启停、优先级调整、服务管理,排查进程异常(CPU/内存占用高、僵尸进程)。

实战案例

1. 进程查看与监控

任务:用top/htop实时监控系统,按CPU/内存排序;用ps -ef/ps aux查看所有进程,筛选sshd进程;用pgrep查找nginx进程号,pstree查看进程树。

命令:top(按M/P排序)htopps -ef | grep sshdpgrep nginxpstree

2. 进程控制与优先级

任务:启动sleep 300后台进程,用jobs查看,fg调前台,bg放回后台;用kill终止该进程,模拟kill -9强制终止;用nice/renice调整进程优先级(如nginx优先级设为-5)。

命令:sleep 300 &jobsfg %1kill PIDnice -n -5 nginxrenice -5 PID

3. 服务管理(Systemd)

任务:启动/停止/重启sshd、crond服务,设置开机自启/禁用;查看服务状态active/inactive,排查服务启动失败原因(如配置错误);创建自定义服务(如test.service),实现开机自启后台脚本。

命令:systemctl start/stop/restart/disable/enable/statusjournalctl -u 服务名 查日志。

4. 进程异常排查

任务:模拟CPU占用高(运行while true; do :; done &),用top定位进程并终止;模拟僵尸进程,用ps aux | grep Z查找,通过杀父进程回收;排查内存泄漏进程,查看进程占用内存排行。

命令:topps aux | grep Zkill PPIDps aux --sort=-%mem | head -10

四、磁盘管理与故障排查(4天)

核心目标

掌握磁盘查看、分区、挂载、磁盘满/IO高排查,清理磁盘空间。

实战案例

1. 磁盘信息查看与分析

任务:用df -h查看磁盘使用率,筛选使用率>80%的分区;用du -sh查看/opt目录总大小,du -ah排序查看大文件;用lsblk/fdisk -l查看磁盘分区结构。

命令:df -hdu -sh /optdu -ah / | sort -rh | head -10lsblk

2. 分区与挂载实战

任务:模拟新增磁盘(虚拟机添加虚拟盘),用fdisk创建主分区,格式化为ext4;临时挂载到/mnt/data,写入/etc/fstab实现开机自动挂载,验证挂载生效。

命令:fdisk /dev/sdbmkfs.ext4 /dev/sdb1mountumountvim /etc/fstabmount -a

3. 磁盘满故障排查

任务:模拟磁盘满(dd if=/dev/zero of=/tmp/full bs=1G count=5),用df -i排查inode满;查找大文件/日志(如 /var/log)清理;排查已删除但未释放的文件(lsof | grep deleted),重启进程释放空间。

命令:dddf -ilsof | grep deletedrm -rf 大日志systemctl restart 服务名

4. 磁盘IO高排查

任务:用iostat查看磁盘IO使用率,iotop定位高IO进程;模拟高IO(cp /dev/sda /tmp/test),排查并终止进程;优化磁盘读写(如调整日志刷盘策略)。

命令:iostat -x 1 3iotopkill 高IO进程

五、网络配置与排查实战(4天)

核心目标

掌握IP配置、端口查看、网络连通性、防火墙管理,排查网络不通、端口占用问题。

实战案例

1. 网络配置与查看

任务:用ip a/ifconfig查看网卡IP、MAC地址;临时修改网卡IP(如eth0设为192.168.1.100),永久修改配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0);重启网络服务验证。

命令:ip aip addr addsystemctl restart network

2. 端口与连通性排查

任务:用ss -tuln/netstat -tuln查看监听端口,筛选80/22端口;用ping/traceroute测试连通性,排查丢包;用telnet/nc测试远程端口是否开放(如测试192.168.1.10 80端口)。

命令:ss -tulnpingtraceroutetelnet 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 routecat /etc/resolv.confss -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 -lgrep -i "warning" sys.loggrep -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 -10awk '$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.logsed '/^$/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完成日志筛选、统计、替换,输出指定结果。