本文章为第七课 Linux常用命令精讲:grep、find、scp与SSH 教案
一、课程基本信息
- 课程名称:Linux常用命令精讲:文件搜索grep、find、复制和远程复制scp与远程链接SSH
- 授课对象:已掌握Linux基础命令的学习者(计算机相关专业学生/IT运维入门人员)
- 授课时长:90分钟(理论+实操)
- 先修要求:熟练掌握ls、cd、mkdir、cp等基础命令,了解Linux目录结构
- 授课类型:理论+实操课(侧重实战应用)
二、教学目标
(一)知识目标
- 理解grep、find命令的核心功能差异,掌握两者的基础语法、常用参数及适用场景。
- 掌握scp命令的工作原理,熟记本地与远程、远程与远程文件/目录传输的语法格式及关键参数。
- 理解SSH协议的安全特性,掌握SSH远程登录的基础语法、密钥登录配置步骤及核心配置项。
- 了解grep正则表达式基础元字符(^、$、.、*等)的含义与简单应用。
(二)技能目标
- 能使用grep精准搜索文件内容中的目标字符串/模式,实现日志分析、代码检索等场景应用。
- 能通过find命令按文件名、大小、时间、权限等多条件定位目标文件,并完成批量操作(删除、授权等)。
- 能熟练使用scp命令实现本地与远程主机间的文件/目录安全传输,解决跨主机数据共享需求。
- 能独立完成SSH密码登录、密钥免密登录配置,实现远程服务器的登录与基础管理。
(三)素质目标
- 培养“精准高效”的命令行操作思维,能根据实际场景选择合适的命令工具解决问题。
- 建立网络传输与远程操作的安全意识,理解密钥认证相较于密码认证的优势,掌握核心安全配置要点。
- 提升问题排查能力,能通过命令帮助信息(–help)和错误提示自主解决命令使用中的常见问题。
三、教学重难点
(一)教学重点
- grep命令的核心用法:字符串匹配、正则匹配基础、常用参数(-i、-n、-v、-r)应用。
- find命令的多条件搜索:按名称(-name)、大小(-size)、时间(-mtime)、类型(-type)定位文件。
- scp命令的双向传输:本地→远程、远程→本地的文件/目录传输语法,-r、-P、-C参数的使用。
- SSH基础登录与密钥免密登录的完整配置流程(密钥生成、公钥上传、权限配置)。
(二)教学难点
- grep正则表达式基础元字符的理解与灵活应用(如^匹配行首、$匹配行尾、.匹配任意字符)。
- find命令的组合条件搜索(-a、-o、!逻辑运算)及-exec参数的批量操作实现。
- SSH密钥登录的权限配置(.ssh目录700权限、authorized_keys文件644权限),理解权限错误导致登录失败的原因。
- scp与SSH命令中远程主机路径格式(用户@主机IP:路径)的准确书写,区分本地与远程路径差异。
四、教学方法与工具
(一)教学方法
情境案例引导+理论精讲+分步演示+分组实操+答疑纠错+实战场景模拟
(二)教学工具
- 教师端:两台互通的Linux虚拟机(CentOS 7/8或Ubuntu,分别模拟本地主机与远程主机)、投影设备、命令演示脚本、日志文件样本。
- 学生端:两台互通的Linux虚拟机(或一台主机+一台云服务器)、练习素材(预设日志文件、测试目录/文件)。
- 辅助资源:命令参数对比表、正则元字符速查表、SSH密钥配置步骤流程图(板书/PPT展示)。
五、教学过程设计(90分钟)
(一)导入新课:情境驱动,明确价值(5分钟)
1. 情境提问:“上节课我们掌握了本地文件的基础操作,但实际工作中,如何从100M的日志文件中快速找到错误信息?如何在全系统中定位一个丢失的配置文件?如何将本地的程序包安全传输到远程服务器?如何足不出户管理机房中的Linux主机?”
2. 课程定位:引出本课核心命令——grep(文本侦探)、find(磁盘导航仪)、scp(安全传输通道)、SSH(远程控制入口),强调这组命令是Linux运维、开发工作的“效率神器”,掌握后可实现从“本地操作”到“跨机协作”的能力跃升。
(二)理论精讲+演示操作:核心命令解析(40分钟)
模块一:文件搜索双雄——grep与find(20分钟)
1. grep命令:文本内容的精准匹配(10分钟)
(1)核心功能:在文件或输入流中查找匹配指定模式(字符串/正则)的行,常用于日志分析、代码检索。
(2)基础语法:
grep [选项] '搜索模式' 文件名/目录(3)常用参数与演示:
- -i:忽略大小写匹配。演示:grep -i “error” app.log(匹配error、Error、ERROR等)。
- -n:显示匹配行的行号。演示:grep -n “warning” app.log(定位警告信息位置)。
- -v:反向匹配(显示不包含目标字符串的行)。演示:grep -v “info” app.log(过滤掉普通信息,保留关键内容)。
- -r:递归搜索目录下所有文件。演示:grep -r “user=admin” /etc/(递归查找/etc目录下含admin用户的配置文件)。
(4)正则基础入门:讲解3个核心元字符:
- ^:匹配行首。演示:grep “^ERROR” app.log(只匹配以ERROR开头的行,定位严重错误)。
- $:匹配行尾。演示:grep “done$” task.log(匹配以done结尾的行,查看完成的任务)。
- .:匹配任意单个字符。演示:grep “h.t” test.txt(匹配hat、hot、hit等)。
(5)易错提示:搜索模式含空格或特殊字符时,需用单引号包裹;递归搜索目录时避免搜索/proc等系统目录(会产生大量无关结果)。
2. find命令:文件属性的精准定位(10分钟)
(1)核心功能:根据文件名、大小、时间、权限、所有者等属性搜索文件/目录,可实现全系统范围定位。
(2)基础语法:
find 搜索路径 [搜索条件] [操作](3)常用条件与演示:
- -name:按文件名匹配(支持通配符*、?)。演示:find /etc -name “*.conf”(查找/etc下所有.conf配置文件)。
- -size:按文件大小匹配(+大于、-小于、无符号等于,单位:b、k、M、G)。演示:find /var -size +100M(查找/var下大于100M的大文件,清理磁盘)。
- -mtime:按修改时间匹配(+大于、-小于,单位:天)。演示:find ./ -mtime -7(查找当前目录下7天内修改过的文件)。
- -type:按文件类型匹配(f普通文件、d目录、l符号链接)。演示:find /dev -type l(查找/dev下的设备符号链接文件)。
(4)进阶操作:-exec参数(批量处理匹配文件)。演示:find ./ -name “*.tmp” -exec rm -rf {} \;(删除当前目录下所有.tmp临时文件,{}代表匹配文件,\;结束命令)。
(5)核心区别:对比grep与find——grep搜“文件内容”,find搜“文件属性”,两者可组合使用(如find ./ -name “*.txt” | xargs grep “hello”)。
模块二:跨机协作核心——scp与SSH(20分钟)
1. scp命令:跨主机安全传输(10分钟)
(1)核心功能:通过SSH协议在两台主机间加密传输文件/目录,避免传输过程中数据泄露。
(2)核心特点:安全(加密传输)、简单(语法类似cp)、跨平台(支持Linux/Windows/macOS)。
(3)基础语法与演示(提前准备两台互通主机:本地主机A、远程主机B(IP:192.168.1.100,用户:test)):
-
本地→远程:
scp [选项] 本地路径 远程用户@远程IP:远程路径。演示:scp -r ./project test@192.168.1.100:~/(将本地project目录递归传输到远程用户家目录)。 -
远程→本地:
scp [选项] 远程用户@远程IP:远程路径 本地路径。演示:scp test@192.168.1.100:~/data.csv ./(将远程data.csv文件下载到本地当前目录)。
(4)常用参数:
- -r:递归传输目录(必选,否则无法传输目录)。
- -P:指定远程主机SSH端口(默认22,若端口修改需指定)。演示:scp -P 2222 file.txt test@192.168.1.100:~。
- -C:启用压缩传输(提升大文件传输效率)。
(5)易错提示:远程路径结尾加“/”表示传输到目录内,不加则表示重命名文件;端口参数是大写P(小写p是保留文件属性)。
2. SSH命令:远程登录与管理(10分钟)
(1)核心功能:通过SSH协议远程登录Linux主机,执行命令、管理系统,是远程运维的标准方式。
(2)基础语法与演示:
-
基础登录:
ssh 远程用户@远程IP -p 端口。演示:ssh test@192.168.1.100(默认22端口,登录后进入远程主机命令行)。 -
直接执行远程命令:
ssh test@192.168.1.100 "ls -l ~"(无需登录,直接查看远程用户家目录内容)。
(3)密钥免密登录配置(重点,解决频繁输入密码的问题):
- 本地生成密钥对:ssh-keygen -t ed25519(推荐安全高效的ed25519算法,按回车3次完成生成,密钥存于~/.ssh/目录,id_ed25519为私钥,id_ed25519.pub为公钥)。
- 上传公钥到远程主机:ssh-copy-id -i ~/.ssh/id_ed25519.pub test@192.168.1.100(输入远程密码,自动将公钥追加到远程~/.ssh/authorized_keys文件)。
- 权限配置(关键):远程主机执行chmod 700 ~/.ssh/、chmod 644 ~/.ssh/authorized_keys(权限过宽会导致登录失败)。
- 验证免密登录:ssh test@192.168.1.100(无需输入密码,直接登录)。
(4)安全提示:私钥是远程登录的“钥匙”,严禁泄露;建议禁用远程主机root用户密码登录(修改/etc/ssh/sshd_config,设置PermitRootLogin no)。

(三)分组实操:实战场景演练(35分钟)
将学生分为4-5人小组,每组配备两台互通虚拟机,完成“日志分析→文件定位→跨机传输→远程管理”的全流程实操,教师巡视指导,重点解决路径错误、权限问题、网络不通等常见问题。
基础任务(必做,20分钟):
- grep练习:在/var/log/messages日志文件中,查找包含“network”的行,并显示行号;过滤掉包含“info”的行。
- find练习:在全系统中查找名称为“sshd_config”的文件;查找/tmp目录下3天内修改过的普通文件;查找当前目录下大于10K且小于1M的文件。
- scp练习:将本地~/test.txt文件传输到远程主机的~/data目录;将远程主机~/data目录递归下载到本地~/download目录(指定端口22)。
- SSH练习:通过密码登录远程主机,执行“df -h”查看磁盘使用情况;配置密钥免密登录,验证登录效果。
进阶任务(选做,15分钟):
- grep正则练习:查找app.log中以“[ERROR]”开头且以“failed”结尾的行。
- find批量操作:查找当前目录下所有后缀为.bak的备份文件,批量删除(需确认后执行)。
- scp进阶:使用scp -C选项传输一个100M的压缩文件到远程主机,对比未压缩传输的效率;在两台远程主机间传输文件(使用-scp -3选项)。
- SSH进阶:修改远程主机SSH端口为2222,重启SSH服务,通过新端口实现密钥登录。
实操要求:每完成一步记录命令与结果,遇到错误先查看命令帮助(如grep –help),自主排查,无法解决再求助小组或教师。
(四)总结归纳+答疑纠错(10分钟)
1. 知识梳理(5分钟)
(1)命令功能定位:grep(搜内容)、find(搜属性)、scp(传文件)、SSH(远程控),四者协同覆盖“本地检索→跨机传输→远程管理”全流程。
(2)核心要点回顾:grep正则元字符的基础用法;find多条件组合与-exec批量操作;scp双向传输的路径格式;SSH密钥登录的权限配置要点。
(3)效率与安全提示:常用参数记牢提升效率,密钥保护、权限控制保障安全。
2. 答疑与纠错(5分钟)
(1)常见问题解答:
- scp传输失败:检查远程主机IP是否可达、端口是否开放、路径是否存在、用户权限是否足够。
- SSH密钥登录失败:检查本地私钥权限(600)、远程authorized_keys权限(644)、ssh_config配置是否开启公钥认证。
- find搜索缓慢:优先指定精准搜索路径,避免全系统搜索;多条件时将严格条件(如-size)放在前面提升效率。
(2)学生问题收集与解答,强调“命令使用无捷径,多练多排查才能熟练掌握”。
六、板书设计
第六课 Linux常用命令精讲:grep、find、scp与SSH 一、文件搜索 1. grep(搜内容) 语法:grep [选项] ‘模式’ 文件/目录 核心选项:-i(忽略大小写)、-n(行号)、-v(反向)、-r(递归) 正则基础:^行首、$行尾、.任意字符 2. find(搜属性) 语法:find 路径 [条件] [操作] 核心条件:-name(文件名)、-size(大小)、-mtime(时间)、-type(类型) 批量操作:-exec 命令 {} \; 二、跨机协作 1. scp(安全传输) 本地→远程:scp -r 本地路径 user@IP:远程路径 远程→本地:scp -r user@IP:远程路径 本地路径 核心选项:-r(递归)、-P(端口)、-C(压缩) 2. SSH(远程登录) 基础登录:ssh user@IP -p 端口 免密配置:1. 本地生成密钥(ssh-keygen) 2. 上传公钥(ssh-copy-id) 3. 配置权限(700/644) 安全要点:保护私钥、禁用root密码登录
七、作业布置
- 整理本课4个核心命令的语法、常用参数及实操案例,制作成“命令速查表”,标注易错点。
- 完成实操任务中的基础任务和进阶任务,提交操作步骤、命令及结果截图(重点展示SSH密钥免密登录配置过程)。
- 拓展练习:①用grep结合管道符(|)统计app.log中“error”出现的次数;②用find查找/var/log下7天前的.log文件并打包,通过scp传输到本地备份。
- 思考:企业运维中,为什么推荐使用SSH密钥登录而非密码登录?如何防止SSH密钥泄露?
八、教学反思
1. 本课命令实操性强且涉及跨机协作,部分学生可能因网络配置、权限问题受阻,课前需提前检查学生虚拟机的网络连通性,准备好备用的远程测试主机。
2. grep正则表达式是难点,初期不宜讲解过深,以基础元字符为主,后续课程可结合更复杂场景深化。
3. SSH密钥登录的权限配置是关键易错点,演示时需分步强调权限数值的含义,让学生理解“为什么必须设置700/644权限”,而非单纯记忆命令。
4. 可在课后提供命令练习脚本和常见问题排查手册,帮助学生课后自主复习巩固,提升实操熟练度。
© 版权声明
文章全是本幻城写的,尽量别直接复制粘贴
THE END

暂无评论内容