使用nano编辑配置文件并保存退出

终端中“输入了文字”不代表文件已保存。先用独立练习文件熟悉nano,再编辑真实配置。本篇只修改临时目录中的示例文本,不会启动服务或改变服务器端口。

准备一个可恢复的练习文件

edit_dir=$(mktemp -d)
printf 'MODE=demo\nPORT=8080\n' > "$edit_dir/app.conf"
cp -a -- "$edit_dir/app.conf" "$edit_dir/app.conf.before"
nano "$edit_dir/app.conf"

若提示找不到nano,先用 command -v nano 确认;在APT系统可按软件安装教程安装发行版提供的nano包。不要从不明脚本安装替代编辑器。文件名应显示为你刚创建的app.conf,底部会列出快捷键。

修改、搜索并保存

nano受控终端:文件名、修改后的PORT及写入完成提示
受控Ubuntu 24.04 / nano 7.2终端画面:保存后显示Wrote 2 lines;底栏^O为写入、^X为退出。
  1. 用方向键移动到PORT=8080一行,将8080改为8081,保留等号和其他内容。
  2. 按Ctrl+W进入搜索,输入MODE并回车,确认能定位到相应文本。搜索不到时核对大小写与输入内容。
  3. 按Ctrl+O写入文件。底部出现文件名提示时,确认路径仍是原来的app.conf,再按Enter。
  4. 看到写入完成提示后,按Ctrl+X退出。底部的^表示Ctrl键,不是先输入一个尖括号字符。

若直接Ctrl+X时出现是否保存的询问,选择保存后仍要确认文件名;想放弃本次修改则按底部提示选择不保存。不要在不清楚提示含义时连续回车,也不要用关闭终端代替退出编辑器。中文输入法可能影响组合键,必要时切到英文输入再操作。

退出后核对真实文件

cat "$edit_dir/app.conf"
diff -u -- "$edit_dir/app.conf.before" "$edit_dir/app.conf"

cat应看到PORT=8081;diff应只显示你计划修改的那一行。diff发现差异时返回非零退出状态属于其正常语义,不等于保存失败。若文件仍是8080,检查是否未保存、保存到了别的路径,或打开了另一个同名文件。

编辑真实配置时增加这几步

  • 先确认服务实际读取的配置路径,记录修改前的权限、归属和副本。不要仅因为文件名相似就编辑。
  • 普通账号编辑需要管理权限的文件,可在管理员已授权的前提下使用sudoedit;不要为方便编辑而把系统配置改为777。
  • 保留必要的引号、缩进和注释。YAML等格式对缩进敏感,复制网页文字后尤其要检查。
  • 保存后运行该软件自己的语法检查;通过后再按其支持方式重载,并验证实际功能。编辑器显示“已写入”只证明文件落盘。

出现Permission denied或Read-only file system时,先退出并查清权限或只读挂载原因;不要把文件保存到家目录后就误认为正式配置已替换。只有原配置和验证方法都明确,才进入真实业务修改。