当前位置: 首页 > news >正文

Ubuntu下编辑文本文件的方法

1. 引言

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

2. 方法

2.1 MobaXterm 文件浏览器

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

使用 MobaXterm 的文件浏览器编辑文本

不过 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 编辑器。即使服务器没有完整桌面环境,也可以单独安装轻量级编辑器:
    # 安装 gedit(GNOME 默认编辑器)
    sudo apt update && sudo apt install gedit -y
    
  • 在终端中直接启动编辑器:
    gedit ~/.bashrc
    

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

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),建议安装完整版以获得语法高亮、撤销历史等实用功能

sudo apt update && sudo apt install vim -y

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

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 → 有修改则保存退出,无修改则直接退出
http://www.jsqmd.com/news/188688/

相关文章:

  • 基于大数据的老旧小区改造需求评估与分析系统毕设源码+文档+讲解视频
  • [开源软件/技术调研/Github] OSS Insight: 深入洞察开源软件社区的分析工具
  • 基于大数据的美妆产品网络评价的数据采集与分析毕设源码+文档+讲解视频
  • 问卷设计内卷现场:人工 1 周 vs AI30 分钟!虎贲等考 AI 凭 “学术含金量” 赢麻了
  • 基于大数据的热门旅游景点推荐系统毕设源码+文档+讲解视频
  • 基于大数据的专业智能导学系统的设计与实现毕设源码+文档+讲解视频
  • PyTorch动态图优化,后来才知道提速
  • 关于STL的知识:集合算法,你学会了吗
  • 【C++】IO流详解
  • 如何在C++的STL中巧妙运用std::find实现高效查找
  • 《不可被“框定”的理论:一场正在发生的生成性实验》研究
  • P14954 520 个人题解
  • 非遗万象图
  • 数据仓库与数据湖:大数据运营的存储架构对比
  • Docker一键搭建JmalCloud 个人网盘--自带博客!
  • 硅谷奇闻:英伟达创始人黄仁勋的家族传承与未来押注
  • Python+Vue的基于协同过滤算法的美食推荐系统 Pycharm django flask
  • vue基于Python基于大数据技术的共享单车数据分析与辅助管理系统 _Pycharm django flask
  • 学霸同款2025一键生成论文工具TOP9:本科生毕业论文必备测评
  • 深度测评!9个AI论文网站助你搞定毕业论文
  • 请求Cloudflare部署的pages资源的时候出现cors跨域问题
  • Python+Vue的基于大数据技术的电影推荐系统的设计与实现 Pycharm django flask
  • 学习笔记:PID算法入门笔记-电机控制-倒立摆
  • 吐血推荐!9款AI论文写作软件测评:研究生科研写作全攻略
  • Python+Vue的 增强可视化的广州IT招聘系统Pycharm django flask
  • Elasticsearch:在 Streams 中使用 ML 自动化 log 解析
  • 聚焦七大主战场丨华为孟晚舟:唯有迎难而上
  • 华为Pura 80系列有多香?到手可升级鸿蒙 6,至高还减1500元
  • phome_enewsfava 数据表字段解释(收藏表)
  • win10/win11安装Word、EXCEL、PPT、VISIO