🍓 第三章 Raspberry Pi OS 基本使用
📄 一句话概括

命令行不是什么高深玩意儿,它只有三件事:「在哪儿」(当前位置)、「看什么」(查看)、「改成什么」(改动);一条命令 = 名字 + 选项 + 参数,用空格分开;再配上四个键盘技巧(Tab 补全、上下键、Ctrl + C、Ctrl + R),你就能干完八成日常工作——但请先记住那条红线:命令行里没有回收站,删掉就是没了。

📝 本节和前面几节的关系

3-1 讲了终端是什么,本节真正开始用它。 前面几节一直出现的命令(echo $XDG_SESSION_TYPE、apt list、df -h)你其实已经在用了——本节把它们收成一张表,并补上「怎么自己查到命令」的能力(man/--help)。 这也是后面所有章节的地基:第 4 章之后写 Python、接传感器、开机自启,全靠这里的手感。

一、打开终端的三种方式

方式 怎么做 什么时候用
快捷键 Ctrl + Alt + T 桌面下最快
菜单 主菜单 → 附件 → 终端 找快捷键麻烦时
SSH 在电脑上 ssh 用户名@主机名.local 无头模式唯一的入口(2-3 讲过)

三种方式打开的是同一个东西。 你在桌面上敲的命令,和透过 SSH 敲的命令,权限、效果完全一样——唯一的区别是「有没有图形界面可以看」。

二、拆开看一条命令:名字 + 选项 + 参数

拿这条命令当标本:

ls -l /home/pi
部分 内容 含义
命令(命令名) ls 要干什么(列出目录)
选项(option) -l 怎么干(长格式列表:权限、大小、时间)
参数(参数) /home/pi 对谁干(目标目录)

三条规则,记住就不容易懵:

  1. 用空格分开——ls-l 是错的,ls -l 才对;
  2. 选项有长有短:-l 与 --long 是一个意思(短横一个字母、长横一个词);
  3. 选项可以合并:ls -l -a 可以写成 ls -la;换个顺序通常也行。

大小写是敏感的(3-1 讲过):LS 不是 ls。

三、必须会的命令:按用途分六组

第 1 组:我在哪、这儿有什么

命令 意思 例子
pwd 我现在在哪个目录 pwd
ls 列出当前目录的东西 ls
ls -l 详细列表(权限/大小/时间) ls -l ~/Desktop
ls -a 连隐藏文件一起列(. 开头的) ls -a
hostname -I 本机 IP 是多少 hostname -I
df -h 磁盘还剩多少(-h =人看得懂的单位) df -h /
free -h 内存用掉多少 free -h

第 2 组:走到别处去

命令 意思
cd 目录 进到某个目录
cd .. 回上一层
cd ~ 或直接 cd 回家目录(/home/用户名)
cd / 去根目录
cd - 回到上一个待过的目录(来回切换神器)

第 3 组:建、删、搬(这组要慢一点)

命令 意思 风险提示
mkdir 名字 建目录 安全
mkdir -p a/b/c 一次建多层(父目录不存在也一起建) 安全
touch 文件名 建空文件/更新时间戳 安全
cp 源 目标 复制 同名会直接覆盖,无提示
cp -r 目录 目标 复制整个目录(-r =递归) 同上
mv 源 目标 移动;同目录内就是改名 覆盖同样无声
rm 文件 删除文件 没有回收站
rm -r 目录 连目录一起删 危险
rm -rf 目录 强制递归删,不提示 最危险的一条,别照着网上乱抄
⚠️ 命令行的红线

图形界面的「废纸篓」在命令行里不存在。 rm 执行完,文件就没了。 新手期的自我保护三条: ① rm 后面先不加 -r,确认真要删目录再加; ② sudo rm 前先想三秒——它删的是系统文件; ③ 拿不准就把 rm 换成 ls:把要删的路径先用 ls 看一眼,确认列出来的正是你想删的东西,再把命令头换成 rm。这个习惯能救你无数次。

第 4 组:看文件内容

命令 意思
cat 文件 全部打印出来(短文件用)
less 文件 分页看(长文件用,q 退出,空格翻页)
head 文件 只看开头 10 行
tail 文件 只看末尾 10 行
tail -f 文件 盯着它,有新内容就实时打出来(看日志必备)

第 5 组:找东西

命令 意思 例子
grep 关键词 文件 在文件里找包含某文字的行 grep DNS /etc/resolv.conf
find 目录 -name 文件名 按名字找文件 find ~ -name "*.py"

区分:grep 找的是「文件里的内容」,find 找的是「文件本身」——这两个新手最常搞混。

第 6 组:改文件、装软件、开关机

命令 意思 备注
nano 文件 最友好的命令行编辑器 Ctrl + O 保存、Ctrl + X 退出(2-3 的体检表用过)
sudo apt update 刷新软件清单 装软件前先做
sudo apt install 包名 装软件 3-3 讲过
sudo reboot 重启 关机/重启只用命令或菜单,别拔电
sudo poweroff 关机 同上
sudo raspi-config 进系统设置 2-4 的地图
man 命令 或 命令 --help 查这个命令怎么用 最该养成的习惯
history 看敲过的命令历史 忘了上次怎么写的就查它

四、四个键盘技巧:让手速翻倍

技巧 怎么做 省掉什么
Tab 补全 敲前几个字母,按 Tab 最值钱的一个——文件名、路径都自动补全;按两下会列出所有可能的候选
历史命令 按 ↑ ↓ 翻 不用重敲
搜索历史 Ctrl + R,然后敲关键词 在几百条历史里搜,比上下键强得多
中断 / 清屏 Ctrl + C 停掉正在跑的命令;Ctrl + L 清屏 跑飞了的命令有救

还有两个小动作:Ctrl + A 跳到行首、Ctrl + E 跳到行尾——改长命令时不用按半天方向键。

五、三个「组合技」:管道、重定向、通配符

① 通配符:* 代表任意多个字符,? 代表一个字符。

ls *.py            # 列出所有 .py 文件
ls photo?.jpg      # photo1.jpg、photoA.jpg 都算

② 重定向:把输出送到文件里。> 覆盖、>> 追加。

ls -l > list.txt        # 把结果写进 list.txt(会覆盖原内容!)
date >> log.txt         # 追加到 log.txt 末尾

③ 管道:把前一条命令的输出喂给后一条命令。

ls /etc | grep ssh       # 在 /etc 的文件列表里筛出带 ssh 的
ps aux | grep python     # 看有哪些 python 进程

组合起来就是一条真本事:

ls -l /etc | grep ssh > ssh_files.txt

从左往右读:列出 /etc 的详细内容 → 筛出带 ssh 的行 → 写进文件。这就是「命令行能写脚本」的雏形。

顺带一个纪律:> 会覆盖目标文件、而且不提示。写重定向命令时,先确认右边的文件名是新的,或者用 >> 追加。

六、动手 Demo:七步上手

做完这七步,你就有了最基本的命令行肌肉记忆。

第一步:先看清自己在哪、有什么

pwd
ls -l
df -h /

怎么读:pwd 输出 /home/pi;ls -l 每行开头那串 drwxr-xr-x 是权限(d =目录);df -h 看卡还剩多少空间。

第二步:建一个工作目录走进去

mkdir -p ~/lab/demo3
cd ~/lab/demo3
pwd

看到什么算成功:pwd 输出 /home/pi/lab/demo3。注意 mkdir -p 把两层目录一次建好了。

第三步:造点东西出来

echo "hello raspberry" > hello.txt
ls -l
cat hello.txt

看到什么算成功:ls -l 里出现 hello.txt;cat 打印出 hello raspberry。

第四步:搜一下(管道与 grep 的第一次实战)

history | grep echo

怎么读:从历史里筛出所有含 echo 的命令——上一秒刚敲的那条就在里面。

第五步:编辑它(nano 上手)

nano hello.txt

改几个字,然后按 Ctrl + O(保存,回车确认)、Ctrl + X(退出),再:

cat hello.txt

看到什么算成功:打印出你改过之后的内容。如果发现「改了没生效」,多半是没按 Ctrl + O 保存——这是 nano 最常见的翻车点。

第六步:清理现场(用第 3 组那条纪律)

cd ~
ls ~/lab/demo3              # 先看一眼要删的东西
rm -r ~/lab/demo3           # 确认无误再删
ls ~/lab

怎么读:rm -r ~/lab/demo3 删掉整个 demo3;ls ~/lab 里 demo3 已经不见了(lab 目录本身还在)。这一步请你顺便体会一遍「先 ls 后 rm」的手感——它以后会救你。

第七步:关机/重启只用命令

sudo reboot

看到什么算成功:屏幕提示、断开 SSH、约半分钟后系统重新起来(uptime 里的时间会重置)。

七、30 秒实验

亲手体会一次「命令记不住也能干活」。

  1. 忘掉某个命令的用法,直接问系统:
ls --help
  1. 再看更详细的说明书(看完按 q 退出):
man ls
  1. 从历史里把它捞回来:按 Ctrl + R,敲 man,看它自动补出你刚才那条命令。

这 30 秒你收获的是:你不需要背命令表。 需要的是三招——--help / man / Ctrl + R。知道「去哪儿查」比「背下来」值钱得多。

八、常见误区

自测三问 1. 一条命令由哪几部分组成?`ls -la /home` 里的三部分分别是什么?(**命令 + 选项 + 参数**;`ls` 是命令、`-la` 是合并后的选项、`/home` 是参数) 2. 命令行删东西能后悔吗?删目录前推荐先做什么?(**不能,没有回收站**;**先用 `ls` 看一眼要删的路径,确认无误再把命令头换成 `rm`**) 3. 「看文件内容」「找文件内容」「找文件本身」分别用什么命令?(**`cat`/`less`;`grep`;`find`**)

相关笔记