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 → 有修改则保存退出,无修改则直接退出
相关推荐
披着羊皮不是狼1 天前
将Ubuntu从C盘移动到D盘
linux·运维·ubuntu
Trouvaille ~1 天前
【MySQL篇】从零开始:安装与基础概念
linux·数据库·mysql·ubuntu·c·教程·基础入门
Curtain_Gin1 天前
windows vim 配置
linux·编辑器·vim
菜鸟z级1 天前
在新电脑装ubuntu包
linux·运维·ubuntu
魔都吴所谓1 天前
【Ubuntu】离线环境下Git LFS(deb包)安装与验证完整教程
linux·git·ubuntu
longxibo1 天前
【Ubuntu datasophon1.2.1 二开之九:验证离线数据入湖】
大数据·linux·运维·ubuntu
艾莉丝努力练剑1 天前
【Linux线程】Linux系统多线程(三):Linux线程 VS 进程,线程控制
java·linux·运维·服务器·c++·学习·ubuntu
jekc8681 天前
Ubuntu-GitLab
服务器·ubuntu·gitlab
筠筠喵呜喵1 天前
Ubuntu火狐浏览器无法打开 ensure slot is connected
ubuntu
x²+(y-√³x²)²=11 天前
Linux 或者 Ubuntu 离线使用 vllm启动大模型
linux·ubuntu·vllm