路径的两种写法
难点提示:从 Windows 的「C: 盘 D: 盘」盘符思维,转为 Linux「单根树形」路径思维。
/绝对路径
以 / 开头,从根目录定位,与当前位置无关。
/etc/sysconfig
/home/student/project
.相对路径
不以 / 开头,以当前目录为起点,用 . 和 ..。
documents/notes
../shared
模块一 · 专题二 —— 从文件操作到组合命令,逐步构建命令行基础。
4 次课 · 8 学时 · 理实一体,每课均有操作演示与验证闭环。
从文件操作到组合命令,逐步构建命令行基础 —— 每次课都有明确的关键点与验证闭环。
ls -l查看目录内容与权限cd / pwd切换目录、确认当前位置mkdir -p一次创建多级目录touch新建空文件cp / mv复制与移动文件rm -i交互式确认删除教学目标熟练使用文件管理命令创建、查看和删除文件目录,正确使用绝对路径与相对路径。
重点 文件目录命令和路径表达
难点 通配符与路径组合,避免误删
useradd创建用户账户passwd设置与修改密码groupadd创建用户组gpasswd增删组成员id查看身份与所属组ls -l / chmod查看与设置权限教学目标创建和维护用户、用户组,理解账户与权限边界并完成验证。
重点 账户、用户组和基本权限
难点 最小权限原则与权限验证
ps aux进程静态快照top实时资源与进程kill -TERM终止指定进程systemctl服务启动 / 停止 / 重启systemctl status查看服务运行状态journalctl -u查看服务日志教学目标查看进程与资源状态,使用 systemctl 管理服务并处理异常进程。
重点 进程、服务状态查看与控制
难点 依据状态信息选择排障和控制方法
find按名称 / 条件查找文件grep按内容筛选文本wc -l / head统计行数、截取开头|管道:输出接到下一条命令> / >>输出重定向:覆盖 / 追加2>错误流单独保存教学目标组合文件和文本处理命令,完成查找、筛选、查看及结果保存。
重点 命令组合、管道和重定向
难点 根据任务选择命令并核对输出
核心方法:先画路径再操作;涉及多文件操作前,先用 ls 通配符预览匹配结果,确认无误再执行。
难点提示:从 Windows 的「C: 盘 D: 盘」盘符思维,转为 Linux「单根树形」路径思维。
以 / 开头,从根目录定位,与当前位置无关。
/etc/sysconfig
/home/student/project
不以 / 开头,以当前目录为起点,用 . 和 ..。
documents/notes
../shared
Shell 先展开通配符再执行命令 —— 展开结果就是命令真正作用的对象。
任意长度任意字符
*.txt
单个任意字符
file?.log
方括号内任一字符
[ABC]*.txt
范围内任一字符
[0-9]*.csv
花括号展开多项
*.{log,txt}
展开为当前用户主目录
cd ~/notes
| 命令 | 功能 | 示例 | 提示 |
|---|---|---|---|
| pwd | 显示当前目录绝对路径 | pwd | 无参数,返回 /home/user |
| cd | 切换目录 | cd /etc/sysconfig | cd ~ 回主目录,cd - 回上次所在目录 |
| ls | 列出目录内容 | ls -lh /var/log | -l -h -a 组合最常用:详情、易读容量、含隐藏文件 |
| mkdir | 创建目录(可递归) | mkdir -p project/src | -p 一次创建多级目录,父目录不存在也能建 |
| touch | 创建空文件或更新时间戳 | touch notes.txt | 配合 -d 可设置指定时间戳 |
| rm | 删除文件或目录 | rm -i file.log | 无 -i 直接删除不确认,慎用 -rf |
rm -rf /* 会从根目录开始强制删除所有文件,且多数情况下不可恢复。
核心方法:按「创建 → 授权 → 验证 → 回收」流程组织,使用 ls -l 和 id 核对结果。
UID(User ID):系统的身份证号。
root(uid 0)/系统用户(uid<1000)/普通用户(uid≥1000)。
GID(Group ID):用户组 ID。用户属于一个主组,可加入多个附加组。
/etc/passwd 账户
/etc/group 组
/etc/shadow 密码哈希
为每个任务分配合适的最小权限集合,不多给、不少给。
| 命令 | 功能 | 示例 | 关键参数 |
|---|---|---|---|
| useradd | 创建新用户 | useradd username | 默认建家目录 /home/username;-m 确保创建,-G 指定附加组 |
| passwd | 设置 / 修改密码 | passwd username | root 可省略用户名(修改他人);普通用户只能改自己 |
| usermod | 修改账户属性 | usermod -aG dev bob | -aG 追加加入附加组;-a 不能省,否则覆盖原组 |
| userdel | 删除账户 | userdel -r username | -r 同时删除家目录和邮件池 |
| groupadd | 创建用户组 | groupadd groupname | 组是权限的集合,先建组再建用户更清晰 |
| gpasswd | 管理组成员 | gpasswd -a bob dev | -a 添加成员,-d 移除成员 |
| id | 查询用户信息 | id bob | 一次显示 uid、gid 和全部 groups,验证首选 |
| groups | 查询用户所在组 | groups bob | 不指定用户名就是当前登录用户 |
先建组,用户直接归属,权限按组下发。
-m 建家目录,-G 一次性加入 dev 附加组。
root 可直接指定他人密码;提醒用户首登修改。
确认所属组与可访问目录,与预期一致才算完成。
练习结束后回收权限、删除账户,不留冗余。
| 权限 | 对文件的作用 | 对目录的作用 |
|---|---|---|
| r (Read) | 查看内容(cat) | 列出文件名(ls) |
| w (Write) | 修改内容(vim) | 创建 / 删除文件 |
| x (Exe) | 运行脚本 | 进入目录(cd) |
每个文件按三类身份各持一组独立权限位;超级用户 root 不受限制,因此判断「能不能做」要以实际登录身份为准。
chmod [对象][操作][权限] 文件
对象 u 属主 · g 属组 · o 其他
操作 + 添加 · - 移除 · = 覆盖
适合对单个权限做微调,不影响其他位。
r=4 w=2 x=1
每位按 4+2+1 相加求和,三位一组写权限。
核心方法:提供故障进程样例,按「观察 → 判断 → 操作 → 复测」闭环指导。
| 命令 | 功能 | 示例 | 说明 |
|---|---|---|---|
| ps aux | 静态查看所有进程 | ps aux | head -10 | USER / PID / %CPU / %MEM 等列,适合留取快照 |
| ps -ef | 完整格式查看 | ps -ef | grep sshd | PPID 列显示父进程,适合追来源 |
| top | 动态实时查看 | top -d 1 | 按 P / M 排序 CPU / 内存 |
| pgrep -f | 按名称 / 正则找 PID | pgrep -f 'sshd -D' | 返回进程号列表,适合脚本使用 |
| pidof | 按可执行文件名取 PID | pidof sshd | 仅匹配可执行文件名,输出更干净 |
| ps -L | 查看线程 | ps -L -p <pid> | LWP 列显示线程号,多线程服务排障用 |
systemctl start <u>
启动服务,立即拉起,不保证开机自启。
systemctl stop <u>
停止服务,立即停止正在运行的实例。
systemctl restart <u>
重启服务,stop + start 组合。
systemctl reload <u>
重载配置,不中断服务,SIGHUP 重读配置。
systemctl enable <u>
设置开机自启,创建符号链接到 multi-user。
systemctl disable <u>
取消开机自启,删除 .wants 链接。
systemctl status <u>
查看状态,输出 active / inactive 与最近日志。
systemctl list-units
列出所有 Unit,可按状态 / 类型过滤。
通过 CPU / 内存占用或响应时间发现。
确认进程来源和完整命令,避免误杀。
默认 SIGTERM,进程可捕获并做善后。
仅当 SIGTERM 30 秒未响应时使用。
整理时间线,写入排障报告。
核心方法:用逐步加管道的方式拆解命令,要求保留原始输入和结果文件。
每个命令运行时默认打开三个「通道」,管道和重定向都是在改接这三个口。
键盘、文件、管道来源
cat < list.txt
终端、文件、管道下一级
ls > list.txt
独立通道,便于日志分离
find / 2> err.log
管道 · 前一条命令的 stdout 接给下一条 stdin
覆盖重定向 · 把 stdout 写入文件
追加重定向 · stdout 追加到文件末尾
错误重定向 · 把 stderr 单独写到文件
pwd确认当前位置ls -l查看内容与权限cd绝对 / 相对路径切换mkdir -p多级目录一次创建touch新建空文件rm -i确认后再删除核心要点路径表达分清绝对与相对;通配符实现安全批量操作。
口诀 先 ls 看清,再 rm 删除
useradd创建用户账户passwd设置与修改密码groupadd创建用户组gpasswd维护组成员id查看身份与所属组chmod / ls -l设置与查看权限核心要点三类账户与用户组体系;十位权限串按 属主/属组/其他 三段解读。
口诀 创建 → 授权 → 验证 → 回收
ps aux进程静态快照top实时资源与进程pgrep按名称查 PIDkill -TERM终止指定进程systemctl服务启动 / 停止 / 重启journalctl -u查看服务日志核心要点进程是运行实例,服务是 systemd 管理的常驻进程;按状态信息选排障方法。
口诀 观察 → 判断 → 操作 → 复测
find按名称 / 条件查找文件grep按内容筛选文本wc -l / head统计行数、截取开头|管道:输出接到下一条命令> / >>输出重定向:覆盖 / 追加2>错误流单独保存核心要点stdin / stdout / stderr 三股流;管道传正确结果,重定向存文件。
口诀 逐步加管道,保留原始输入与结果
每项任务提交命令与结果截图;操作涉及多文件时,先预览匹配范围再执行。
在 ~/lab 下创建 ops/{logs,scripts,reports} 三级目录,并 touch 三个示例文件。
创建 ops-team 组,新建 dev1 / dev2 两个用户并加入 ops-team,设置密码。
用 ps aux | head 抓取进程快照,用 grep -i ssh 过滤后写入 /tmp/lab/ssh.txt。
systemctl status sshd → stop → start → enable 完成四步,记录每步状态变化。
从 /var/log/messages 中 grep 'error' → wc -l → 按时间排序取前 10 条。