元数据卡
- 前置知识:ch02-first-commands 到 ch02-wildcards-pipes
- 预计时间:25 分钟
- 阅读模式:打开终端,跟着敲
练手之前,打开你的终端。这是唯一的方法——光看不动手等于没学。
热身(5 分钟,必做)
热身 1:确认你在哪
pwd
ls看看你在哪个目录,周围有什么文件。
热身 2:建个练习营地
cd ~
mkdir practice
cd practice
touch hello.txt
echo "终端入门,从此开始" > hello.txt
cat hello.txt你在家目录下建了一个叫 practice 的营地,在里面放了第一块写着字的石板。
热身 3:查看你的 PATH
echo $PATH
which ls
which pwdPATH 里的目录里,你至少应该认识 /usr/bin 和 /bin。用 which 看看你常用的命令都在哪。
热身 4:根目录浏览
ls / | sort | head -10ls / 看根目录有什么,| sort 排序,| head -10 只看前十行。第一次用管道组合三个命令。
挑战(15 分钟,选做)
挑战 1:管道链—找最新的日志文件
ls -lt /var/log | head -4 | tail -3一步一步来:
ls -lt /var/log— 按修改时间排序/var/log里的内容| head -4— 取前 4 行(第一行是"total",跳过)| tail -3— 从这 4 行里取后 3 行
理解每步发生了什么。
挑战 2:批量重命名
这句话你应该记住:什么破坏性操作,都先用 echo 测试。
# 在 practice 目录里创建 10 个测试文件
cd ~/practice
touch test-{1..10}.txt
# 测试重命名(只打印,不执行)
for f in test-*.txt; do
echo mv "$f" "${f%.txt}.bak"
done
# 确认输出都正确后,去掉 echo 执行
for f in test-*.txt; do
mv "$f" "${f%.txt}.bak"
done
# 验证
ls这个练习让你体会到批量操作的安全流程:测试 → 确认 → 执行。
挑战 3:探险 PATH
which python3
which grep
which cat
file $(which python3)用 which 找到 Python、grep、cat 的位置。再用 file 看看它们的文件类型——大部分会是 ELF 可执行文件。
挑战 4:用 echo 写进配置文件
# 先在当前会话测试变量
export WORKSHOP_NAME="变量村"
echo $WORKSHOP_NAME
# 测试通过后,写进配置文件
# 先看看你现在用的是 Bash 还是 Zsh
echo $SHELL
# 确认配置文件存在,以防万一先备份
cp ~/.bashrc ~/.bashrc.bak
# 追加一行
echo "export WORKSHOP_NAME=\"变量村\"" >> ~/.bashrc
# 重载
source ~/.bashrc现在关掉终端再打开,echo $WORKSHOP_NAME 应该还能打出"变量村"。
排障(5 分钟)
下面每个命令都有问题。你能看出问题在哪吗?
问题 1:目录误删
rm -rf ~/build你本来想删当前目录下的 build,但你在 /tmp 里——这个命令实际上删了哪个目录?
问题 2:家目录误伤
cd ~
rm -r practice如果在 practice 里你还有重要文件——已经没了。为什么这是不可挽回的?你本来可以做什么来预防?
问题 3:grep 的参数陷阱
ls -l | grep .txt你本来只想列出 .txt 文件。但 ls -l | grep .txt 显示了所有文件。为什么?
提示:grep 的参数是正则表达式,不是通配符。. 在正则里匹配任意字符。所以 .txt 匹配的是"任意字符 + txt"——几乎所有文件名都有字符,所以全出来了。
正确的做法是用通配符:
ls -l *.txt验收清单
做完这些你就对终端不再陌生了:
- [ ] 能用
cd、ls、pwd自如地在文件系统中导航 - [ ] 能用
touch、mkdir、cp、mv、rm创建和管理文件目录 - [ ] 理解
$变量的含义,知道echo $PATH看什么 - [ ] 会用
*、?通配符做批量操作 - [ ] 会用
|把命令串联起来 - [ ] 知道文件名空格需要用引号包住
- [ ] 知道
rm -rf的危险性,养成先ls后删的习惯 - [ ] 知道
>和>>的区别
旅人笔记
终端不怕试——怕的是不试。
破坏性操作先echo测试。rm -rf前停一秒,pwd确认位置。
用 Tab 补全,用上下箭头翻历史命令。
你今天已经跟电脑说上话了——而且它照做了。
→ 下一步:时光机——Git
你已经能在终端里自由穿梭了——创建、删除、移动、查找,不在话下。
但很快你会遇到一个让所有开发者都头疼的问题:改了代码,改错了,想回到一小时前——可是已经保存了。
下一章,你会拿到时光机:Git。你可以任意回溯到任何一个时刻,像从未犯错一样重新出发。
还记得工坊主人说的那句话吗——"改坏了别怕,我们有存档。"