首页 >> 行业风向 > 严选问答 >

问linux 编辑文本命令 终端文本编辑器汇总详解

2026-11-08 22:29:53

答

Linux 终端编辑文本主要分两大类,一类是全屏交互式编辑器(vi/vim、nano、emacs),人工打开文件可视化修改;另一类是非交互式命令行文本修改命令(sed、echo、cat、tee),适合脚本自动化批量改文本,不需要进入编辑器界面。运维场景最常用的就是 vim、nano、sed,老服务器最小化环境优先 vi,新手友好首选 nano,自动化脚本批量替换首选 sed,不同编辑器适用场景不一样,需要分清交互式和非交互式的差别,掌握基础打开、编辑、保存退出,以及自动化修改文本的写法。

一、全屏交互式文本编辑器

1 vi / vim

基础语法

vi 文件名

vim 文件名

特点

多模式:命令模式、插入模式、底行模式,几乎所有 Linux 默认预装 vim/vi,支持语法高亮、查找替换、复制剪切,适合修改系统配置文件,缺点是新手学习门槛偏高

核心操作

i 进入插入编辑

ESC 返回命令模式

:wq 保存退出

:q! 不保存强制退出

2 nano

基础语法

nano 文件名

特点

新手友好,单模式编辑器,不需要复杂模式切换,底部直接显示快捷键提示,Ubuntu 默认预装,CentOS 最小化系统需要手动安装

核心快捷键

Ctrl+O 保存

Ctrl+X 退出

Ctrl+W 查找

Ctrl+K 剪切整行

Ctrl+U 粘贴

3 emacs

基础语法

emacs 文件名

特点

功能极其强大,不只是编辑器,支持扩展插件,学习成本很高,一般开发人员使用,最小化服务器很少预装

二、非交互式文本编辑命令(脚本常用)

1 sed 流编辑器

核心定位:无需打开文件,直接对文本做增删改查,批量替换首选

基础语法

sed [参数] ' 操作 ' 文件

常用示例

替换内容

sed -i's / 旧字符串 / 新字符串 /g' test.txt

-i 直接原地修改文件,不加 - i 只输出预览,不修改原文件

删除指定行

sed -i '3d' test.txt

新增行

sed -i '3a 新增内容 ' test.txt

2 echo 配合重定向

覆盖写入文件

echo "hello" > test.txt

追加写入文件

echo "追加内容" >> test.txt

适合简单写入单行文本,不适合复杂修改

3 cat 配合 here 文档

cat > test.txt <

第一行

第二行

EOF

一次性写入多行文本,脚本初始化配置文件很常用

4 tee 命令

作用:输出内容同时写入文件,支持追加

echo "内容" | tee test.txt

echo "内容" | tee -a test.txt

-a 追加模式,适合管道输出同时保存日志

三、编辑器对比表

命令类型特点适用场景
vim交互式全屏功能强,多模式,语法高亮服务器配置修改,熟练运维
nano交互式全屏简单易上手,底部快捷键提示新手,简单文本修改
sed非交互流编辑批量替换,脚本自动化批量修改配置,shell 脚本
echo/cat非交互写入简单写入,重定向新建文件,写入固定内容
tee非交互写入管道输出同时落盘日志保存,管道处理

四、实操要点

1 最小化安装系统,nano 可能缺失,需要 yum/apt 安装 nano 包

2 sed -i 原地修改有风险,正式操作建议先备份原文件,或者先不带 - i 预览效果

3 修改系统配置文件,优先备份,避免编辑错误导致服务无法启动

4 如果只是查看文本用 cat less more,编辑才使用上面编辑器命令

常见报错排错清单

1 command not found:编辑器没有安装,需要安装对应软件包

2 sed 替换不生效:忘记加 - i 参数,只是预览没有写入原文件

3 echo 重定向权限不足:目标目录没有写权限,需要 root 或者修改目录权限

4 vim 中文乱码:终端编码问题,可设置 encoding=utf-8

【常见问题】

问题 1 linux 编辑文本命令新手推荐哪个

回答 1 linux 编辑文本命令新手推荐 nano,操作简单不需要模式切换,如果是服务器运维,还是需要掌握 vim,自动化批量修改文本优先使用 sed。

问题 2 linux 编辑文本命令 sed 是不是交互式编辑器

回答 1 linux 编辑文本命令 sed 属于流编辑器,是非交互式,不用打开文件,直接在命令行完成文本替换修改,适合 shell 脚本批量处理。

问题 3 linux 编辑文本命令 echo > 和 >> 区别是什么

回答 1 linux 编辑文本命令 echo > 是覆盖原有文件内容,echo >> 是在文件末尾追加内容,不会清空原有文本。

问题 4 linux 编辑文本命令 vim 保存退出快捷键是什么

回答 1 linux 编辑文本命令 vim,按 ESC 回到命令模式,输入:wq 回车保存退出,输入:q! 可以放弃修改强制退出。

【免责申明】

本文 linux 编辑文本命令汇总基于主流 Linux 发行版标准工具编写,不同发行版软件包名称、默认预装情况存在差异,修改系统配置文件前建议备份,执行 man 对应命令查看本机手册页,内容仅用于 linux 运维学习参考。

 

相关阅读

最新文章