Ubuntu下编辑文本文件的方法

1. 引言

尽管已经有了不少的使用 Ubuntu 终端的经验,但笔者认为,要编辑文本文件最好的方式还是使用 GUI 。当然不是所有的情况都能使用 GUI 的,有时还是不得不使用终端编辑文本文件。

2. 方法

2.1 MobaXterm 文件浏览器

MobaXterm 是一款专为 Windows 用户设计的增强型终端工具,除了本身的 SSH 客户端之外,还集成了一个 SFTP 文件浏览器。通过这个 SFTP 文件浏览器,就可以直接进行文本文件的编辑工作。当然,它的原理还是把文件下载到 Windows 本地,修改完成后再上传,不是特别顺滑;但是一般情况下是够用了。

不过 MobaXterm 的 SFTP 文件浏览器有个缺点,就是不能编辑具有 root 权限的文件,因为使用 MobaXterm 登录 Ubuntu 一般是普通账户, root 登录的情况比较少。

2.2 带 GUI 的文本编辑器

除了使用内置的 SFTP 文件浏览器,MobaXterm 还支持运行远程 Ubuntu 系统上的 图形界面(GUI)文本编辑器,例如 gedit、mousepad 或 kate。这一功能依赖于 MobaXterm 内置的 X11 服务器,能够将远程 Linux 主机上 GUI 程序的窗口"转发"到 Windows 桌面显示。具体步骤如下:

  • 确保 SSH 会话启用 X11 转发。在 MobaXterm 中新建 SSH 会话时,默认已勾选 "X11 forwarding"(可在 Advanced SSH settings 中确认)。这是实现 GUI 显示的关键。

  • 在远程 Ubuntu 上安装 GUI 编辑器。即使服务器没有完整桌面环境,也可以单独安装轻量级编辑器:

    bash 复制代码
    # 安装 gedit(GNOME 默认编辑器)
    sudo apt update && sudo apt install gedit -y
  • 在终端中直接启动编辑器:

    bash 复制代码
    gedit ~/.bashrc

如果编辑的是普通用户有写权限的文件(如 home 目录下的文件),可直接保存;若需编辑 root 权限文件,可用 sudo 启动编辑器:

bash 复制代码
sudo gedit ~/.bashrc

当然这么做不是百分百可行,部分系统出于安全因素执行 sudo gedit 会失败。

2.3 备份替换大法

当面对需要 root 权限的系统文件(如 /etc/fstab、/etc/nginx/nginx.conf 等),而 MobaXterm 的 SFTP 浏览器或 GUI 编辑器又因权限问题无法直接修改时,一个简单粗暴但有效的方法就是:"先在低权限位置编辑,再用 sudo 覆盖原文件"。这种方法常被戏称为"备份替换大法"。具体操作步骤如下:

  • 复制目标文件到你有写权限的目录(如 home 目录):sudo cp /etc/your-config.conf ~/your-config.conf.bak
  • 在 MobaXterm 中通过 SFTP 浏览器双击该副本进行编辑。
  • 用 sudo 将修改后的文件覆盖回原位置:sudo cp ~/your-config.conf.bak /etc/your-config.conf

2.4 终端编辑器Vim

当 GUI 不可用、网络延迟高、或需要快速修改系统文件时,终端内的文本编辑器就成为最可靠的选择。在 Ubuntu 系统中,vim(Vi IMproved)是最常用且功能强大的终端编辑器之一。虽然学习曲线略陡,但一旦掌握基本操作,效率极高,尤其适合远程服务器环境。

Ubuntu 通常预装了 vim 的精简版(vim.tiny),建议安装完整版以获得语法高亮、撤销历史等实用功能

bash 复制代码
sudo apt update && sudo apt install vim -y

编辑文件只需一行命令,直接以当前用户(或 sudo 提权后)身份编辑,无权限绕弯,无文件传输延迟:

bash 复制代码
vim /path/to/file
# 例如:
vim ~/.bashrc
sudo vim /etc/fstab

Vim 有多种模式,初学者只需记住三个核心状态:

模式 进入方式 作用
普通模式(Normal) 启动即在此模式,或按 Esc 执行命令(如保存、退出、跳转)
插入模式(Insert) i 输入/编辑文本
命令行模式 普通模式下按 : 执行保存、退出等指令

最简操作流程如下:

  1. 打开文件:vim filename
  2. i → 进入插入模式 → 编辑内容(很多终端支持复制粘贴)
  3. Esc → 回到普通模式
  4. 输入以下之一:
    • :wq → 保存并退出
    • :q! → 不保存强制退出
    • :x → 有修改则保存退出,无修改则直接退出
相关推荐
欧云服务器2 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI2 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️2 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
硬汉嵌入式3 天前
Vim 9.2版本正式发布
编辑器·vim
再战300年3 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2003 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟3 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬3 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民3 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
小虾爬滑丫爬3 天前
Ubuntu 上设置防火墙
ubuntu·防火墙