资讯动态

Linux期末复习指南:文件系统、权限、进程与Shell脚本核心考点梳理

发布时间:2026/10/1 16:25:40 来源:尧图企业网站定制
期末复习时间线一拉长最常见的状态就是对着几百条命令发愣书翻过课听过实验课也敲过几条命令但真坐到考场上题目稍微换个场景就不知道从哪下手。Linux期末复习的难点从来不在于某个命令本身而在于知识太散、命令太多、彼此之间的关联又太强。这篇总结我打算换个讲法不按教科书目录平铺而是按考试真正会涉及的几条主线——文件系统、权限、进程、网络、Shell脚本、实验环境——把知识点串起来。目标是让你复习完之后脑子里有一张地图而不是一袋碎石子。1. 期末复习的先后顺序先立框架再刷命令1.1 Linux和Windows思维差在哪决定了你后面能不能举一反三很多同学复习Linux的第一反应是背命令这是效率最低的方式。你会发现背了一堆命令考试时换个操作系统版本、换张截图照样不会做。原因在于命令只是表象底层的那套设计思想才是出题人反复考察的东西。Linux这套系统说白了是围绕几个基本假设展开的多用户多任务。系统上同时有很多人在用每个进程、每个文件都要有归属所以权限管理不是附加功能而是地基。一切皆文件。普通文件是文件目录是文件磁盘设备是文件终端是文件socket也是文件。理解了这句话看到/dev/sda、/proc/cpuinfo、/dev/null才有直觉。命令短小、组合为王。Linux命令大多只做一件小事真正强大的是管道、重定向、通配符这些“胶水”把小事串起来解决大问题。配置和日志都是纯文本。所以文本处理的优先级极高后面我会专门花一个章节来说grep、sed、awk。这四条一旦装进脑子你会发现很多题目其实是在同一套逻辑上换皮。比如问你怎么查看CPU信息你想到“一切皆文件”就会走到/proc/cpuinfo问你怎么让一个脚本开机就执行你想到配置是文本就会去找/etc/rc.local或者systemd服务文件。复习顺序应该是先把这几条底层思维模型建立起来再按“文件、权限、进程、网络、存储、脚本”六大板块逐个过命令。框架先行命令随后这样才记得牢。1.2 命令不是背出来的是查出来的我知道热词榜上“Linux常用命令大全”点击量一直很高但作为过来人我得说句实在话期末复习真不建议从头到尾刷命令大全。期末考试考的是“解决问题”不是“默写”。正确的打开方式是按场景分组。每个场景只抓高频命令场景核心命令文件与目录ls、cd、pwd、cp、mv、rm、find、ln权限管理chmod、chown、chgrp、umask进程管理ps、top、kill、jobs、bg、fg、nohup、systemctl网络管理ip、ss、ping、ssh、scp、curl、wget压缩打包tar、gzip、zip、unzip文本处理grep、sed、awk、sort、uniq、wc、cut每组不用贪多把每个命令“用途一个典型例子”写下来就够了。比如tar你只要知道tar -zxvf file.tar.gz是解压tar -zcvf file.tar.gz dir是打包压缩考试基本够用。真正难到你的往往不是某个命令本身而是“什么时候该用哪个命令”。还有一个救命技能必须练读帮助。机考通常允许man手册和--help平时多练man ls、grep --help考试遇到没见过的参数至少在手册面前能有方向。最怕的是平时不查考试时给了文档也找不到答案。我在模拟面试中发现很多学生的差距真的就差在一个“会不会查手册”上。2. 文件系统与权限一多半基础分都藏在这里2.1 目录结构记熟送分题就稳了Linux目录结构几乎每套期末卷都会出一两道题特点是直来直去但覆盖面很广。最常考的是下面这些路径用途容易考的细节/bin、/sbin系统基本命令和系统管理命令现代发行版大多软链到/usr/bin/etc系统配置文件DNS、用户、服务配置都在这/home普通用户家目录用户登录后的默认工作目录/root管理员家目录普通用户无权限进入/var变化的数据日志一般在/var/log缓存、邮件也在/var/tmp临时文件目录所有人可写靠粘滞位保护/dev设备文件sda表示第一块SATA磁盘/proc内核和进程信息的虚拟文件系统/proc/cpuinfo、/proc/meminfo、/proc/uptime这里有个容易被忽略的考点/tmp目录权限是drwxrwxrwt最后那个t就是粘滞位Sticky Bit。它的作用是所有人都可以在/tmp里创建文件但只有文件所有者和root能删除别人的文件。很多权限综合题都拿/tmp当背景因为它把粘滞位、文件所有权、目录写权限三个知识点打包在一起。另外现在不少发行版把/bin、/sbin改成指向/usr/bin的软链接这种情况下考察“软链接是什么”就特别合适。因为/bin本身是一个软链接到/usr/bin的路径题目问“删除原文件后软链接还能用吗”答案自然就出来了。2.2 权限位、umask和修改命令同一个知识点三种考法权限题是Linux期末考试里出现频率最高的题型没有之一。常见考法有三种但底子就一个ls -l输出里的第一列字段。第一列总共10个字符第1个是文件类型-是普通文件d是目录l是软链接b是块设备c是字符设备。后面9个字符分成三组所有者、属组、其他用户。每组三位分别是r、w、x对应读、写、执行。八进制数字表示法是另一个必考点。把r、w、x看成二进制位rwx 7rw- 6r-x 5r-- 4。所以-rw-r--r--就是644-rwxr-xr-x就是755。考题通常会反过来问给你一个chmod 750写出它的权限位表示即rwxr-x---。文件权限和目录权限的区别是很多学生栽跟头的重灾区。对目录来说r表示能列出目录内容w表示能在目录里创建和删除文件x表示能进入目录。特别注意要删除某个文件决定权在你对该文件所在目录是否有写权限而不是你对这个文件本身是否有写权限。这个点几乎每年都有人丢分。umask考点也要注意。它规定了新建文件或目录时默认去掉的权限位。常规计算方式目录默认最大是777文件默认最大是666减去umask值得到默认权限。例如umask为022默认目录权限是777-022755默认文件权限是666-022644。考场上题目如果只给umask让你算结果用这个简单减法基本能应付多数情况。扩展一点setuid、setgid和粘滞位也偶尔出现。setuid看点是/usr/bin/passwd的权限位-rwsr-xr-x那个s表示执行passwd时会临时获得文件属主root的身份所以普通用户才能修改/etc/shadow。理解了这个机制很多“为什么普通用户能改自己密码”的选择题就能答对。2.3 sudo和su不只要会敲还要说得出区别sudo和su的区别几乎每场面试都会问期末题也越来越喜欢从这里出简答题。简单说su是切换用户从普通用户切到root需要输入root密码。sudo是“以某个用户身份执行单条命令”默认以root权限执行需要的是当前用户自己的密码而且前提是该用户被加入了sudo授权名单。配置sudo的文件是/etc/sudoers建议永远用visudo编辑因为它会在保存时做语法检查防止配置文件写错导致sudo全部失效。给普通用户加sudo权限常见的做法是usermod -aG wheel zhangsan或者直接编辑sudoers文件加入如下一行zhangsan ALL(ALL:ALL) ALL这段配置的意思是zhangsan可以从任何终端登录在任何主机上以任何用户身份执行任何命令。理解每一段含义对于解答权限配置题很有帮助建议背下来。我可以提一个经验教训别为了图省事直接用su - root处理所有问题。平时的操作尽量用sudo因为sudo有日志审计能追踪谁在什么时间执行过什么命令。考试如果问“为什么生产环境不建议直接用root操作”可以从审计、权限最小化、误操作风险三个角度答这也是很多企业面试的标准答案。3. 进程、作业与系统监控会看状态比会杀进程更重要3.1 ps aux和top里到底在看什么进程类题目十有八九围绕ps、top、kill展开但考的往往不是命令怎么写而是输出结果怎么解读。ps aux中最关键的是STAT这一列。你可能遇到这些字母组合S表示可中断睡眠R表示正在运行或就绪T表示停止Z表示僵尸进程D表示不可中断睡眠。那些小符号也别忽略表示前台进程表示高优先级s表示会话领导者。僵尸进程是个特别经典的考点为什么kill -9杀不掉僵尸进程因为僵尸进程本身已经死了进程还在进程表里只是因为父进程没有调用wait来回收。你杀一个已经死掉的进程当然没效果。正确处置办法是找到它的父进程让父进程结束或者重启父进程这样僵尸进程就会由init进程收养并回收。这套逻辑要能完整复述出来比单纯会敲几条kill命令有用得多。看系统整体负载则用top。top第一行的load average有三个数字分别表示过去1分钟、5分钟、15分钟的平均负载。注意它不是一个百分比而是运行队列中处于运行或不可中断状态的平均进程数。单核CPU的机器load值超过1就说明过载了四核CPU则要到4才表示满载。题目如果给你一个八核服务器load average为4问系统是否异常正确答案是“还在正常范围附近”。3.2 后台运行不简单、CtrlZ、nohup和systemd关于后台运行考试最常见的场景题是终端关闭后后台进程还能不能继续跑基础部分包括command 让命令在后台运行但关闭终端时进程会收到SIGHUP信号从而退出。CtrlZ挂起当前前台进程jobs查看作业bg放到后台继续执行fg调回前台。nohup command 忽略HUP信号即使终端关闭进程也能继续跑。输出默认写到nohup.out。setsid command让进程脱离当前会话也能避免终端关闭时被杀。再往上的考点是systemd。很多新版本系统的服务管理已经不是传统的SysV init脚本而是systemd unit。考试会问“怎么让服务开机自启”“怎么查看服务运行状态”用到的命令是systemctl start nginx systemctl enable nginx systemctl status nginx systemctl restart nginx把传统命令和systemd命令对应起来是个很好的复习思路启动服务是service在systemd里就是systemctl start设置开机启动是chkconfig在systemd里就是systemctl enable。这样对照记忆既把新旧两种体系串起来也不怕考试用新系统出题。3.3 系统负载和内存瓶颈的判断思路命令会了还不够考试喜欢让你“根据输出判断问题”。比如free -h输出里available这一列才是真正可用的内存因为cache和buffer在内存压力大的时候是可以回收的。如果看到free列很小就慌那是常见误区。再比如定位CPU占用高的进程标准操作是先运行top按P键按CPU排序要看内存占用按M键按内存排序。文字题里还有一条经典的排查链路系统变慢第一反应不是去看某一个进程而是先看整体负载、内存、磁盘I/O、网络缩小范围后再用ps或top定位到具体进程。这套排查思路期末考试喜欢考面试也喜欢考。4. 网络配置与DNS实验课上卡住大多数人的环节4.1 先搞清楚现在系统用哪套网络管理网络配置是所有实验题里最容易卡壳的地方尤其是DNS配置。很多同学配置了/etc/resolv.conf重启网络后配置就丢了或者改了IP地址但网卡根本没up。解决办法是每次排错都按顺序走不要跳步骤。第一步看网卡当前状态和IP地址ip addr # 或者老命令 ifconfig第二步看默认路由ip route show第三步ping网关和公网IP判断链路通不通ping -c 3 网关IP ping -c 3 223.5.5.5第四步再检查DNS解析。这里有个经验如果ping公网IP通、ping域名不通那是DNS问题如果ping网关都不通问题出在IP配置或网卡状态如果网关通但公网IP不通大概率是路由或上级网络问题。90%的网络实验题都能用这个顺序拆解出来。4.2 配置DNS的前后顺序坑基本出在覆盖和优先级上“linux中配置dns出现的问题”被反复搜索说明这是大家共同的痛点。最常见的现象是手动把nameserver写进/etc/resolv.conf当时能用重开机或者重启网络服务后又没了。原因在于/etc/resolv.conf经常被NetworkManager、systemd-resolved、DHCP客户端这类网络管理工具接管。你直接改文件等于跟系统争夺配置权重启后必然被覆盖。临时改法只是改resolv.confecho nameserver 223.5.5.5 /etc/resolv.conf永久生效的正确思路是找到这个网络接口的网络管理器。比如在NetworkManager环境里可以用nmcli修改连接配置nmcli con mod Wired connection 1 ipv4.dns 223.5.5.5 114.114.114.114 nmcli con up Wired connection 1在systemd-resolved环境里可以用resolvectl查看和设置resolvectl status resolvectl dns 接口名 223.5.5.5判断一个系统用的是哪套管理工具先看有没有NetworkManager服务再看systemd-resolved是否启用。这在实验课上非常关键因为每个发行版的默认状态不一样直接套一个思路很容易翻车。4.3 远程管理、scp和网络排查题的必会技能SSH相关题目几乎是期末实验考试的保留项目。必会操作包括启动sshd服务、配置开机自启、使用ssh登录、通过scp传文件、配置密钥免密登录。密钥登录的配置是重点步骤很短但坑多ssh-keygen -t rsa ssh-copy-id user远程主机ssh-copy-id本质上是把本机公钥追加到远程主机的~/.ssh/authorized_keys文件里。很多同学手动配置时忘记设置权限导致登录仍然要密码。关键点是远端的~/.ssh目录权限最好是700authorized_keys文件权限最好是600权限太宽松SSH会直接拒绝信任密钥。排查类题目中查看端口监听情况常用两个命令ss -lntp lsof -i:80前者看端口监听和进程PID后者可以按端口反查进程。问题“80端口被占用怎么办”本质上就是先查谁占用了80再决定kill还是一劳永逸地禁用那个服务。网络这一章内容很杂但只要按“网卡状态→路由→公网连通性→DNS→服务端口”这套顺序去组织复习起来就不会东一榔头西一棒子。5. Shell脚本与文本处理大题从这出别只会grep5.1 引号、变量和特殊字符脚本错误的一半来源Shell脚本的大题分值最高但真正考得难的并不多。很多同学栽在基础语法上尤其是引号和空格。看这个例子nameLinux echo Hello $name # 输出 Hello Linux双引号里变量会展开 echo Hello $name # 输出 Hello $name单引号里原样输出 echo $(date) # 推荐写法执行date命令 echo date # 等价于上面但可读性差脚本里最容易犯的问题是if [ ]两边缺空格。中括号外面两边都必须有空格变量最好加上双引号否则值为空时会报错。比较运算也要记清楚整数比较用-eq、-ne、-gt、-lt字符串比较用、!。文件测试用-f判断普通文件是否存在、-d判断目录是否存在、-x判断是否可执行。期末大题的脚本填空基本就是这些点换着考。5.2 grep、sed、awk组合出来的文本处理套路文本处理三板斧每个都要会但更重要的是知道组合方式。grep用来筛选行核心是正则。比如找出/etc/passwd里以root或bin开头的行grep -E ^(root|bin): /etc/passwdsed用来做替换和行编辑。把文件里的Windows换行符转成Linux格式的经典操作是sed -i s/\r$// file.txtawk用来做字段处理和统计。比如打印passwd文件第一列和第三列awk -F: {print $1, $3} /etc/passwd组合起来才是大招。统计日志文件里每个IP出现次数前十名awk {print $1} access.log | sort | uniq -c | sort -rn | head这行命令把awk提取、sort排序、uniq计数、再次排序、head取前几条全部串起来。这种综合命令在考试里经常出现因为一条管道命令能考出好几个知识点。还有一类高频题是交互式找出某进程PID。需要grep过滤、再排除掉grep自身进程本身ps aux | grep nginx | grep -v grep这里grep -v grep是防止把正在执行的那条grep命令自己也匹配进去这个细节在很多上机题里出现过值得注意。5.3 背一个能压中不少大题的脚本模板Shell大题通常是让你写一个带循环、条件判断、变量、日期命名的脚本。与其零散背知识点不如熟练一个模板。比如这个备份脚本#!/bin/bash backup_dir/backup log_file/var/log/backup.log if [ ! -d $backup_dir ]; then mkdir -p $backup_dir fi for file in /etc/hosts /etc/passwd /etc/group; do cp $file $backup_dir/$(basename $file).$(date %F) done echo $(date %F %T) backup done $log_file这个脚本里包含了变量定义、if条件判断、for循环、命令替换、日期命令、日志追加。平时把这个脚本自己从头敲一遍遇到让写“备份某个目录下特定扩展名文件”之类的题目时把循环部分替换成find加-exec基本就能覆盖。需要提醒的是脚本第一行shebang要写执行前记得加执行权限chmod x script.sh ./script.sh6. 实验环境是期末最大的变量虚拟机、解压和部署的坑6.1 虚拟机安装Linux时的常见问题排查虚拟机安装Linux几乎是期末必做的准备动作但很多人会卡在安装过程。一个常见问题是安装时提示虚拟化不可用或者开机蓝屏。这种情况要先检查BIOS/UEFI里的Intel VT-x或AMD-V是否开启同时确认VMware或VirtualBox的“虚拟化引擎”相关选项没有关闭。很多所谓“虚拟机安装linux蓝屏”的问题其实不是Linux的锅而是底层虚拟化没开。另一个坑是安装时选了“最小安装”或“服务器”模式结果开机后没有图形界面。如果只想做期末实验推荐安装带桌面环境的发行版或者装完手动安装桌面。VMware虚拟机装Ubuntu Desktop默认配置选2核CPU、2GB内存、20GB磁盘基础实验基本够用。网络模式也值得讲一下。NAT模式适合虚拟机访问外网桥接模式适合让局域网其他机器直接访问虚拟机。考试里如果遇到“虚拟机ping不通外网”先看NAT模式是否正常如果遇到“宿主机访问不到虚拟机里的服务”优先检查是不是桥接模式以及防火墙规则。6.2 解压乱码和软件安装其实有规律可循热词里“linux 解压文件乱码”上榜不是没有原因的。Windows下压缩的zip包文件名编码通常是GBKLinux默认UTF-8解码就会显示乱码。解决办法是解压时指定编码unzip -O CP936 file.zip如果发行版里的unzip不支持-O参数可以安装7-Zip替代7z x file.zip7z对中文编码支持相对更好。处理已经解压出来的乱码文件可以用convmv把文件名从GBK转成UTF-8。另外软件安装这块期末考试通常考的是apt/yum/dnf三种包管理器的基本用法发行版家族包管理器安装命令示例Debian/Ubuntuaptapt install nginxRHEL/CentOS/Rockyyum/dnfdnf install nginx通用源码编译安装./configure make make install6.3 Docker、iperf3这些热门工具怎么快速上手期末实验如果涉及Docker最常考的是三个动作安装、拉镜像、跑容器。安装Docker最省事的方式是用官方安装脚本curl -fsSL https://get.docker.com | sh systemctl enable --now docker docker run hello-world要注意的是国内服务器下载镜像慢是常见问题配置镜像加速器之后再进行实验能省掉大量等待时间。这个细节我个人的实际体验很重要不然实验课上一节课全耗在等镜像拉取上。网络测试工具iperf3的部署也常被提及。服务端执行iperf3 -s客户端执行iperf3 -c 服务端IP就能测出TCP带宽。如果服务端端口被防火墙挡了记得放行默认的5201端口。这个工具不仅是实验内容很多面试题也会拿“怎么测两台Linux机器之间的带宽”来考察候选人的网络基本功。至于热词里那些偏底层的方向比如linux内核动态加载file_operations拦截read/write、linux提权、透明加密期末阶段不需要深入到源码层面。知道大致概念就够Linux把设备操作抽象成file_operations结构体驱动通过注册read、write等回调来完成设备读写内核模块可以用insmod动态加载卸载用rmmod。这块更多是后面就业、面试或做嵌入式开发方向才需要细究的内容期末复习优先级放在最后。7. 考前冲刺这几类必考题的答题模板7.1 场景排查题的“四步答题法”期末考试最怕的是那种“某服务无法启动请排查并解决”的大题。这类题看着开放其实有很固定的答题套路我总结为四步第一步看服务状态。systemctl status 服务名确定服务是没启动、启动失败还是正在运行但配置错误。第二步看日志。日志是定位问题的最直接证据。journalctl -xe、/var/log/下对应的日志文件比如nginx的/var/log/nginx/error.log。很多让你“查看服务失败原因”的题答案其实就藏在日志里。第三步看端口和相关进程。ss -lntp确认端口是否被其他进程占用ps aux | grep 服务名确认进程是否在跑。第四步看权限和防火墙。常见坑是进程启动用户对配置文件没有读权限或者SELinux拦了或者防火墙没放行端口。这个四步法在期末卷面上很占便宜。出题人看到你按这个逻辑一步步写就会认为你真的理解整个排查思路而不只是蒙中了答案。7.2 高频概念辨析题硬链接与软链接、kill -9、增删用户软链接和硬链接区别是最高频的简答题之一。硬链接本质是同一个inode的多个目录项所以不能跨文件系统不能给目录创建硬链接删掉源文件后硬链接文件内容还在。软链接是独立文件存的是目标路径可以跨文件系统也可以指向目录删除源文件后软链接变成失效链接。这个区分建议自己动手在虚拟机里做一遍印象会非常深。kill相关也有经典问法。kill -15是SIGTERM给进程一个优雅结束的机会kill -9是SIGKILL强制立即杀死。为什么不要逢杀必用-9因为进程来不及保存数据、清理临时文件可能造成数据丢失或状态不一致。这个回答逻辑要背下来。用户管理题也基本是按流程走。新增用户useradd zhangsan passwd zhangsan usermod -aG wheel zhangsan删除用户时注意-r参数会连同家目录一起删除很多题目会问这个参数。7.3 面试题对期末复习的反向提示我接触过的很多Linux面试题其实是期末综合题的升级版反复出现的话题有查看某个端口被哪个进程占用、找出CPU占用最高的进程、统计日志里某类错误出现的次数、修改文件属主和权限、配置静态IP和DNS。把这些场景自己在虚拟机里完整跑一遍期末大题的把握会明显提高。还有一类基础问法查看系统版本和内核信息。cat /etc/os-release看发行版信息uname -a看内核版本uname -r只看内核版本号。这类题简单但容易忘每次面试前我都会让人重新过一遍。最后说一点我自己的复习习惯考前我不再看完整笔记而是开一台虚拟机把“从零创建一个用户、配置sudo、设置静态IP和DNS、安装一个服务、写一个备份脚本”整个流程完整走一遍。这一步能做到Linux期末的基础分和实验分基本就稳了。如果时间还有富余就练一练grep、sed、awk组合分析的题目这是提升上限的地方。复习Linux不怕慢怕的是在错误的方向上反复磨框架对了剩下的就是熟练度的问题。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑