ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux期末考试复习:核心命令与Shell脚本考点全梳理

Linux期末考试复习:核心命令与Shell脚本考点全梳理 每年期末当监考老师把Linux试卷发下来的那一刻总会有人把ls敲成is把chmod 777当成万能钥匙还有人连虚拟机都还没装明白就直接裸考上阵。其实Linux这门课真没那么可怕可怕的是把复习搞成了“背单词”——今天记一条命令明天忘一条命令最后脑子里只剩一锅粥。这篇内容就是帮你把整学期的Linux知识按照考试逻辑重新捋一遍全是能直接拿来用干货不整虚的适合所有正在为Linux期末考试头秃的同学也适合想系统梳理Linux基础的自学者。1. 先摸清期末考试的“套路”考点分布与命题风格1.1 Linux课程到底在考什么很多同学拿到复习资料就开始闷头背命令结果背了三百条考试只考三十条剩下二百七十条全是干扰项。Linux期末考试看起来内容庞杂实际上每年都在几个固定模块里打转。根据我自己带过的考试和过往真题核心考点大体分为六块基础概念与系统结构、文件与目录操作、用户权限与进程管理、磁盘与文件系统、Shell脚本编程、网络与系统服务。这六个模块在试卷上的占比通常呈现一个规律命令操作类题目占四到五成概念理解类占两到三成脚本编程占两成左右剩下的就是综合分析题。也就是说你不需要成为命令行大师但必须掌握最核心的高频命令并且理解命令背后的Linux设计逻辑。老师出题时不会故意为难你但一定会用“换个参数考同一个命令”的方式来检验你是否真正理解了而不是仅仅记录了。1.2 不同题型的应对思路Linux期末试卷一般有四种题型选择题/填空题、简答题、命令操作题和脚本编程题。选择题和填空题偏重概念辨析比如文件权限的数字表示、硬链接和软链接的区别、/etc/passwd文件中各字段的含义。这类题考的是“记住了没有”复习时要把概念类知识整理成表格反复看。命令操作题往往给你一个场景让你写出完成某功能的命令比如“把/home/user/a.txt移动到家目录并改名为b.txt”“查找当前目录下所有大于10M的日志文件并删除”。这类题的核心是理解命令的参数语义而不是死记硬背。脚本编程题通常是让你补全一段Shell脚本实现文件批量重命名、统计某个目录下文件数量、根据用户输入做条件判断等功能。这类题在复习时需要动笔手写只看不写是最大的坑。我在后面第五章会给出模板化的解题思路。2. 文件与目录操作命令背不完先抓住这几组核心逻辑2.1 路径与通配符所有文件操作的基石文件与目录操作是Linux考试的分值大户也是后续所有模块的基础。很多同学在这部分丢分不是因为不会命令而是因为不理解路径的绝对与相对关系。绝对路径从根目录/开始写比如/etc/ssh/sshd_config相对路径则基于当前所在目录比如./scripts/backup.sh。考试中经常出现的一道题是“当前处于/home/user目录如何快速回到上一次所在的目录”——答案不是cd ..而是cd -。这个细节就能筛掉一半人。通配符是另一个高频考点。*匹配任意多个字符?匹配单个字符[abc]匹配字符集中的任意一个。举个例子删除目录下所有.tmp结尾但文件名以数字开头的临时文件应该写rm [0-9]*.tmp而不是rm *.tmp。这类题考察的不是通配符本身而是你能不能把需求翻译成精确的匹配表达式。考试时遇到这类题先在草稿纸上把目标文件名的规律写清楚再动笔写命令。2.2 文件内容查看与检索五大金刚各自的分工关于查看文件内容很多同学只知道cat但考试偏偏喜欢考cat的局限性和其他命令的优势。比如有一个文件有5000行你需要看最后50行用tail -50 filename需要分屏滚动查看用less需要边看边搜索某个关键词用less然后按/进入搜索模式。cat适合查看小文件、合并多个文件cat a.txt b.txt c.txt但大文件用cat会把终端刷爆这就是命令选型的场景区别。内容检索的核心是grep期末必考。grep的基本用法是grep [选项] 模式 文件高频选项有-i忽略大小写、-v反向匹配、-n显示行号、-r递归搜索目录。考试最常见的组合是统计某个关键词在文件中出现的次数——注意这里有两个理解歧义grep -c keyword file统计的是“包含关键词的行数”而不是“关键词出现的总次数”。如果要统计总次数得用grep -o keyword file | wc -l。这种细微差别就是区分高分和低分的分水岭。2.3 归档压缩一条tar命令走天下归档压缩在期末考试里基本必考通常以三种形式出现把某目录打包压缩成.tar.gz、解压某个压缩包到指定目录、查看压缩包内容。核心命令是tar常用写法如下# 打包并压缩注意顺序c创建z用gzip压缩v显示过程f指定文件名 tar -czvf backup.tar.gz /home/user/data # 解压到指定目录-C指定目标目录 tar -xzvf backup.tar.gz -C /tmp/restore # 不解压直接查看压缩包里的文件列表 tar -tzvf backup.tar.gz这套用法在考试中出现的概率极高。还有一个易错点是命令选项的顺序tar -czvf和tar -cvzf效果相同但-f后面必须紧跟压缩包文件名因为-f选项需要接收一个参数。有同学写成tar -czf file.tar.gz v /home/user结果报错或者把v当成文件名就是没理解-f会“吃掉”后面的参数这件事。3. 用户、权限与进程概念题和操作题的重灾区3.1 用户和用户组别再死记/etc/passwd了理解设计逻辑用户与用户组的题目看着零散背后其实是一个很清晰的模型。Linux里每个用户都有一个唯一的UID系统用数字识别用户而不是名字用户组是一组用户的集合方便统一授予权限。/etc/passwd文件每行存储一个用户的信息用冒号分成七个字段用户名、密码占位符、UID、GID、用户描述、家目录、登录Shell。/etc/shadow存加密后的密码普通用户不可读。/etc/group存组信息/etc/gshadow存组密码实际很少用到。考试常考的命令包括useradd添加用户、passwd设置或修改密码、usermod修改用户属性、userdel -r删除用户连同家目录、groupadd添加组、gpasswd -a user group把用户加入组。这里有个细节容易被忽略useradd在CentOS/RHEL系默认不会自动创建家目录需要加-m参数而Ubuntu/Debian系的useradd行为又略有不同。如果考试机环境是Ubuntu你写useradd -m -s /bin/bash student就比单纯useradd student更严谨。3.2 权限位的数字城堡三类身份 × 三类权限权限部分的题目从来没变过花样翻来覆去就考那几件事读r4、写w2、执行x1三个数字分别代表文件属主、属组、其他用户的权限。比如chmod 754 file表示属主可读可写可执行7属组可读可执行5其他人只读4。考试常考两类变形题。第一类是修改属主属组chown user:group file注意chown可以同时改属主和属组chgrp只改属组。第二类是umask计算系统默认权限普通文件666目录777减去umask值就是新建文件/目录的实际权限。假设umask是022新建文件权限就是666 - 022 644新建目录就是777 - 022 755。注意这里不能按数字进制借位就是简单的按位相减。还有一个必考的概念是硬链接和软链接。ln file link创建硬链接ln -s file softlink创建软链接。硬链接共享同一个inode删除源文件不影响硬链接软链接相当于快捷方式源文件删除后软链接就失效了。考试常问“硬链接能不能跨文件系统”“能不能对目录做硬链接”——答案分别是“不能”和“不能通常”这两个结论背后的原因都是inode的跨文件系统限制和目录循环引用风险。3.3 进程管理前台、后台、信号三件套进程管理的题目难度不大但概念容易混淆。首先分清几个关键命令ps查看静态进程快照top动态显示进程资源占用kill向进程发送信号jobs查看当前Shell后台任务bg把暂停的任务放到后台继续跑fg把后台任务调回前台。kill的数字信号是考试重点最常考的是kill -9SIGKILL强制终止和kill -15SIGTERM优雅终止。一个很经典的坑是如果你直接kill 进程PID而不带选项默认发送的是-15SIGTERM进程可能忽略该信号不退出。考试里如果题目说“强制杀死一个进程”你必须写kill -9 PID而不是kill PID。另一个高频考点是管道与重定向这个考点经常和进程管理混在一起出题。|把前一个命令的标准输出作为后一个命令的标准输入把输出覆盖写入文件追加写入2重定向错误输出。经常考的套路是# 找出所有名为httpd的进程并强制终止 ps -ef | grep httpd | grep -v grep | awk {print $2} | xargs kill -9 # 把日志中的错误信息单独存到文件 ./start.sh 2 error.loggrep -v grep这个写法很值得注意因为ps -ef | grep httpd会把这条grep命令自身所在的进程也匹配出来所以要先把它过滤掉。这种小细节在考试分析题里特别容易扣分。4. 存储与系统管理磁盘、文件系统和启动流程4.1 从磁盘到目录挂载的完整链路期末试卷里磁盘相关题目一般围绕三条线索展开查看磁盘状况、分区格式化、挂载使用。查看磁盘状况用df -h看已挂载分区的使用情况和du -sh看某个目录占用空间这两个命令一定要区分清楚前者是文件系统视角后者是目录视角。fdisk -l查看磁盘及分区表lsblk以树状结构显示块设备后者更直观考试时写哪个都给分。格式化和挂载的流程是固定套路# 对/dev/sdb进行分区交互式命令考试一般只考概念 fdisk /dev/sdb # 格式化分区为ext4文件系统 mkfs.ext4 /dev/sdb1 # 创建挂载点并挂载 mkdir /data mount /dev/sdb1 /data # 写入/etc/fstab实现开机自动挂载 echo /dev/sdb1 /data ext4 defaults 0 0 /etc/fstab考试最常问的是为什么重启之后挂载失效了答案就是没有写入/etc/fstab。这个文件每一行代表一个挂载配置共六个字段设备名、挂载点、文件系统类型、挂载选项、是否dump备份、是否fsck检查。最后两个字段考试爱考都是0表示不备份不检查。4.2 inode、文件系统类型与日志服务关于inode期末常考两个点第一inode存的是文件的元数据权限、属主、大小、时间戳、数据块指针而文件名存在目录项中第二格式化分区时inode数量是固定的所以可能遇到磁盘还有空间但无法创建新文件的情况因为inode耗尽了。这就能解释为什么df -i会作为排查工具出现。文件系统类型也需要扫一眼考试不会考得太深但要知道几个关键词ext4传统Linux文件系统、xfsRHEL/CentOS 7默认、swap交换分区。swap相当于Windows的虚拟内存当物理内存不足时系统把部分数据换到磁盘上。考试经常出现“如何查看系统是否使用了swap”这类判断题答案是free -h或swapon -s。日志管理方面要记住/var/log目录下的几个关键文件/var/log/messages系统常规日志、/var/log/secure安全认证日志、/var/log/dmesg内核日志。简答题常考“系统无法登录如何排查”排查思路就是先看/var/log/secure里的认证失败记录再检查/etc/passwd账号是否被锁定最后看磁盘空间是否已满导致日志写不进去这个排查顺序就是Linux运维的基本功。4.3 系统启动流程BIOS到登录界面发生了什么系统启动流程几乎是每次考试的简答题钉子户而且同学们经常背了后面忘前面。可以把启动流程拆成五个关键节点计算机通电后BIOS/UEFI首先自检硬件然后按启动顺序找到启动介质接着引导程序GRUB接管GRUB加载内核和initramfs到内存内核初始化硬件、挂载根文件系统然后启动第一个进程systemd老系统是initsystemd根据默认运行级别启动各类服务最终显示登录界面。考试容易丢分的地方有两个一是混淆GRUB和内核的职责二是把systemd和init的区别搞混。现在的Linux发行版基本都用systemd配套命令是systemctl start/stop/enable service老系统的service和chkconfig命令虽然还能用但底层已经是兼容层了。遇到“如何设置开机自启某个服务”这类题写systemctl enable 服务名就对了。5. 文本处理与Shell脚本编程题的得分关键5.1 正则表达式别怕考试就考那几条元字符正则表达式让很多同学望而生畏但期末考试的难度其实只停留在“认识并会用基础元字符”的程度。必会的元字符就这些^行首、$行尾、.任意单个字符、*前一个字符重复零次或多次、[]字符集、[^]取反、\{n,m\}或{n,m}表示重复次数。举几个典型的正则题目# 找出所有以#开头的行通常是注释 grep ^# /etc/httpd/conf/httpd.conf # 找出所有空行 grep ^$ file.txt # 找出所有包含数字的行 grep [0-9] file.txt # 找出所有以任意三个字符加.log结尾的文件名 ls | grep ^...\.log$正则里最难理解的是*的含义它代表前一个字符重复0次或多次而不是“任意字符”。你要匹配任意字符得用.*。这个点几乎年年考选择填空里一定会出现“grep a* file能匹配什么”这种题——它能匹配所有行因为每一行都包含零个或多个a。理解了这一点正则部分就稳了。5.2 Shell脚本的核心语法与变量细节脚本编程题分值高、套路固定只要掌握几类常见语法拿分并不难。先说变量和使用时的注意事项。定义变量必须等号两边不能有空格比如name“tom”但name “tom”会报错引用变量用$变量名或${变量名}花括号用来界定变量名的边界比如echo ${name}_file如果去掉花括号就会被解释成引用变量name_file。条件判断和循环是脚本题的必考结构。写法如下#!/bin/bash # if判断基本结构 if [ -f /etc/passwd ]; then echo 文件存在 else echo 文件不存在 fi # for循环遍历 for i in 1 2 3 4 5; do echo 当前数字: $i done # while循环读文件 while read line; do echo $line done /etc/hostname[ -f 文件 ]这类测试表达式是高频考点常用的有-f文件存在且是普通文件、-d目录存在、-e文件或目录存在、-z字符串为空、-n字符串非空、-eq数字等于、-ne数字不等于、-lt小于、-gt大于。特别注意数字比较用-eq/-ne/-lt/-gt字符串比较用/!//混用了不仅报错还逻辑诡异。5.3 脚本编程题的答题模板与案例分析考试时间有限脚本题不可能让你从零写一个几十行的项目通常就是补全代码或者写一个10行以内的小脚本。我总结出两类最高频的题目类型。第一类是批量重命名或批量处理文件#!/bin/bash # 把当前目录下所有.txt文件改名为.bak for file in *.txt; do mv $file ${file%.txt}.bak done${file%.txt}是Shell的字符串模式匹配作用是去掉变量file以.txt结尾的部分。这个语法在大纲里不算超纲但很多同学上课没注意考场上卡住就只能丢分。类似的还有${file#前缀}去前缀${file/旧/新}替换。第二类是根据条件统计或筛选#!/bin/bash # 统计/etc/passwd中有多少个用户可以使用/bin/bash登录 count0 while read line; do echo $line | grep -q /bin/bash count$((count1)) done /etc/passwd echo 可用bash登录的用户数: $count这类题的关键是先把逻辑流程写清楚再去套语法。我的建议是考场答题时先在草稿纸上画一下流程循环什么条件、判断什么、输出什么然后再动手写代码。上来就写代码很容易在循环嵌套和变量引用上翻车。6. 从真题反推复习重点与常见失分点6.1 高频易混淆命令对照表很多失分不是因为不会而是因为命令之间的区别没搞清。我整理了一份期末最常考的易混淆对照表建议考前反复看几遍易混淆命令核心区别与前者覆盖写入后者追加写入-f选项tar中与-f测试符一个是紧跟文件名一个是判断文件是否存在pwd与whoami一个显示当前路径一个显示当前用户名df与du一个看文件系统空间一个看目录占用空间kill与killall一个按PID结束进程一个按进程名结束软链接与硬链接软链可跨文件系统、可对目录硬链共享inode、不可跨文件系统chown user:group file与chmod 数字 file前者改归属后者改权限位ifconfig与ip addr老命令和新命令ip功能更强ifconfig需单独安装net-toolstar -czvf与tar -xzvf一个是打包压缩一个是解压展开这张表里的每一组都有人栽过跟头考前对照着过一遍比你盲目刷一百道选择题都有效。6.2 实操是最好的复习方式快速搭建一个练习环境期末复习最忌讳只看不动手。命令这东西你光看三遍还是记不住敲一遍就记住了。我建议考前至少保证在真实的Linux环境里实操三个小时重点覆盖文件增删改查、权限修改、用户管理、进程终止、压缩解压、简单脚本编写。如果你还没有Linux环境最快的路径是在虚拟机里装一个CentOS Stream或者Ubuntu安装过程本身就是考点——分区、设置root密码、创建普通用户、选择软件包这些操作期末会以选择题或简答题出现。实在懒得上虚拟机也可以先用WSL练命令但要注意WSL的文件系统和真实Linux虚拟机还是有点差别考试前最好还是在虚拟机里完整过一遍。实操练习的顺序建议按照“文件操作 → 权限用户 → 进程管理 → 磁盘挂载 → 脚本编写”来每做完一类操作就用history看一下自己敲了哪些命令回头再对照教材看有没有更优写法。这个方法让我当年从“背了忘”变成“肌肉记忆”效果非常明显。6.3 考试中的答题顺序与时间策略Linux期末试卷题量通常不小命令题和脚本题特别耗时间。我分享一个比较稳的答题策略拿到试卷先把所有题目扫一遍标记出“一眼就会”和“完全没思路”的题先把会做的全部做完把该拿的分拿稳再回头啃难题。命令操作题写答案时要注意格式比如多个命令之间用分号还是换行重定向符号两边是否有空格这些细节不影响命令执行但阅卷时老师看到一个不规范的写法难免扣印象分。遇到不确定的题目能把相关的命令步骤写上就尽量写因为考试是按步骤给分的比如挂载题你写不出mount那条命令但写对了mkfs.ext4和创建挂载点照样能拿一半分。最后提醒一句很多同学在简答题上写了一大堆废话却漏掉了关键字。比如“如何查看系统当前运行了哪些服务”你回答systemctl list-units --typeservice一句话就满分你要是从“首先我们需要打开终端”开始写写几百字依然拿不到点。按点答题、简洁准确才是Linux期末考试拿高分的正确姿势。我个人在复习阶段最受益的一个习惯是把每类题目的“标准答案命令”抄在一个小本子上考前只看这些命令和它们的关键参数。这些命令不需要多每个知识点三到五条就够但每一条都要清清楚楚知道它每个参数是干什么的。你会发现考场上很多题目看着陌生实际上就是你小本子上那条命令换了个马甲。
返回列表