nano · 命令行记事本
上游:cat(cat 只读,nano 能写)· sudo(编辑系统文件需要 sudo nano) 下游:shell-script(用 nano 写脚本)· cron(用 nano 编辑定时任务) 参见:chmod(写完脚本记得 chmod +x)
一句话是什么
nano 是 Linux 最友好的命令行文本编辑器——
在终端里打开、编辑、保存文件,不需要图形界面。
为什么需要它
在 Linux 服务器上没有”记事本”这种东西, 但你经常需要编辑文件:修改服务器配置、写脚本、记笔记。
Linux 有三个主流命令行编辑器:
| 编辑器 | 难度 | 特点 |
|---|---|---|
nano | ⭐ 简单 | 命令显示在屏幕底部,适合初学者 |
vim | ⭐⭐⭐⭐ 困难 | 功能强大,但新手常常不知道怎么退出 |
emacs | ⭐⭐⭐⭐⭐ 很困难 | 极其强大,但学习曲线陡峭 |
结论:先学 nano,以后有需要再学 vim。
# 打开文件(不存在会自动创建)
nano ~/学习基地/笔记.txt核心用法
基本操作
# 打开文件
nano 文件名
# 以管理员权限打开系统文件
sudo nano /etc/hosts
# 打开后跳到特定行
nano +14 文件名nano 内的快捷键
打开 nano 之后,底部会显示快捷键提示(^ = Ctrl 键):
| 快捷键 | 功能 |
|---|---|
Ctrl + O | 保存(O = Output/Write Out) |
Ctrl + X | 退出(有改动会询问是否保存) |
Ctrl + G | 帮助 |
Ctrl + W | 搜索(W = Where is) |
Ctrl + K | 剪切整行 |
Ctrl + U | 粘贴(Un-cut) |
Ctrl + / | 跳到指定行号 |
Alt + U | 撤销 |
保存流程(最重要)
1. Ctrl + O → 询问文件名(直接 Enter 保存到原文件)
2. Enter → 确认
3. Ctrl + X → 退出
或者:
1. Ctrl + X → 询问是否保存
2. 按 Y → 确认保存
3. Enter → 确认文件名
拟人化拆解 · 启动 nano 之后,电脑里到底发生了什么
nano ~/学习基地/笔记.txt按下回车的瞬间,nano 在 0.1 秒内做了一连串动作。慢放看:
启动阶段(0.1 秒内)
- 检查文件存不存在
- 存在 → 把内容从硬盘读进内存的一块缓冲区(buffer)
- 不存在 → 内存里准备一块空白缓冲区,文件名先记下,还没真正创建硬盘文件
- 接管整个终端窗口
- 把原来的 shell 内容暂存(退出 nano 后会还原)
- 用 ncurses 库重新绘制屏幕
- 画出三层界面:
- 顶部:
GNU nano X.Y · File: 笔记.txt标题栏 - 中间:文件内容区(你编辑的地方)
- 底部:快捷键提示栏(
^O Write Out^X Exit等)
- 顶部:
关键事实:你按键改字,改的是内存里的缓冲区,硬盘上的文件没变。 没存盘前关电脑 = 改的内容全丢。
编辑阶段 · ^ 是什么意思
底栏写 ^O,^ 不是字符,是 Ctrl 键的简写。
所以 ^O 读作 “Ctrl + O”。
| 快捷键 | 全名 | 实际行为 |
|---|---|---|
^O | Write Out | 把内存缓冲区写回硬盘文件(“存盘”) |
^X | Exit | 退出 nano;如果有未存改动会先问 |
^W | Where is | 搜索关键词,光标跳到第一个匹配位置 |
^K | Kut(cut 的玩笑写法) | 剪切光标所在整行 |
^U | Uncut | 粘贴最近剪切的内容 |
^G | Get help | 显示完整帮助页 |
^C | what Column | 显示光标位置(第几行第几列) |
^_ | (jump line) | 跳到指定行号 |
^O 保存的三步交互
按下 Ctrl+O,nano 不会立刻存,会先问两遍:
1. 屏幕底部出现:File Name to Write: 笔记.txt
→ 直接 Enter 用原文件名;改名字也行(变成"另存为")
2. 如果文件已存在:File exists, OVERWRITE? (Y/N)
→ Y 覆盖,N 取消
3. 写入硬盘 → 底栏闪一句 "Wrote 12 lines"
^X 退出的逻辑分支
按 Ctrl+X
├─ 缓冲区与硬盘内容一致(没改 / 刚存过)
│ → 直接退出,shell 提示符回来
└─ 缓冲区有未保存改动
→ 屏幕底部问:Save modified buffer? (Y/N/^C)
│ ├─ Y → 走一遍 ^O 流程,保存后退出
│ ├─ N → 直接退出,丢弃改动
│ └─ ^C → 取消退出,回到编辑
启动参数 · 几个 Aaron 早晚会用到的
# 直接跳到第 50 行打开(看错误日志时常用)
nano +50 server.properties
# 只读模式(防止手抖改坏配置)
nano -v /etc/hosts
# 备份模式:保存时会留一份带 ~ 后缀的备份
nano -B 重要文件.txt
# 保存后会多出 重要文件.txt~(备份副本)关于 vim · 一句话定位
vim 不是 nano 的”高级版”,它是另一个流派——用键盘代替鼠标的极致编辑器。
- nano 适合”打开就能用”(小学生第一次摸 Linux 都能上手)
- vim 适合”愿意花两周学键位换十年高效”
Aaron 现在 nano 就够。 哪天发现自己每天编辑 1 小时以上文本,再考虑学 vim 不迟。
例题精讲
📗 初探 Starter — 写第一个文本文件
# 第一步:打开 nano 创建文件
nano ~/学习基地/第4周笔记.txt
# 输入以下内容:
# 今天学了 sudo, apt, unzip, chmod
# 最难的部分是权限那串字母
# 记住:rwxr-xr-x 分别是主人、组、其他人的权限
# 第二步:保存
# 按 Ctrl + O,然后 Enter
# 第三步:退出
# 按 Ctrl + X
# 第四步:确认文件存在
cat ~/学习基地/第4周笔记.txt📘 应用 User — 编辑 Minecraft 服务器配置
# 修改服务器名字(server-name 那一项)
nano ~/mc-server/server.properties
# 找到这一行(用 Ctrl+W 搜索 "server-name"):
# server-name=Dedicated Server
# 改成:
# server-name=Aaron的世界
# 保存:Ctrl + O → Enter
# 退出:Ctrl + X
# 修改服务器最大玩家数(找 max-players)
# max-players=10 → 改成 max-players=4📙 管理 Admin — 写一个 Minecraft 启动脚本
# 创建启动脚本
nano ~/mc-server/start.sh
# 输入以下内容:
#!/bin/bash
# Minecraft Bedrock Server 启动脚本
# 作者:Aaron
cd ~/mc-server
echo "启动 Minecraft 服务器..."
./bedrock_server
# 保存并退出(Ctrl+O → Enter → Ctrl+X)
# 给脚本加执行权限
chmod +x ~/mc-server/start.sh
# 测试运行
~/mc-server/start.sh官方文档参考
man nano # 完整手册
nano --help # 快速选项列表nano = Nano’s ANOther editor;Ctrl 键快捷方式显示在屏幕底部,无需死记。 在线:
https://www.nano-editor.org/dist/latest/nano.html
节点链接
上游
下游(学会 nano 才能做这些)
- shell-script ← 用 nano 写 .sh 脚本
- cron ← 用 nano 编辑 crontab 定时任务
实战
- Minecraft-Bedrock-Server ← 用 nano 编辑 server.properties
节点版本:v1.0 · 2026-04-20 下一个节点建议:shell-script 或 cron