Linux 编辑文件

17 Mar 2025 | 6 分钟阅读

Linux 文件系统允许我们对文件进行各种操作,例如创建、编辑、重命名、删除。我们可以使用不同的 Linux 编辑器来编辑文件,例如vim、nano、Emacs、Gedit、Gvim 等。

如何在 Linux 中编辑文件

让我们了解如何在 Linux 服务器上通过不同的文本编辑器来编辑文件。

  • 使用 VI 编辑器编辑文件

VI 编辑器是 Linux 系统中最广泛使用的文本编辑器。Vi 编辑器有多种模式,例如普通模式、插入模式、命令模式、行模式等。每种模式允许我们执行其特定的操作。

由于其模式化,它被最广泛地使用。大多数编辑器只有一个模式;它们接受输入并执行命令操作,但 Vi 有多种模式。

当我们启动 Vi 时,它会以普通模式打开,这基本上是命令模式。在此模式下,我们键入的任何内容都被视为命令,而不是输入。

有时 Vi 看起来像一个普通的编辑器,但当你习惯了它之后,你会觉得它是一个强大的编辑工具。

在编辑文件之前,让我们了解如何在 Vi 编辑器中切换模式

  • ESC 键进入普通模式
  • i 键进入插入模式
  • :q! 键在不保存文件的情况下退出编辑器。
  • :wq! 键保存更新的文件并退出编辑器。
  • :w test.txt将文件另存为 test.txt

现在,让我们了解如何使用 Vi 编辑器编辑文件。

要编辑文件,请先使用cat命令创建一个文件

上面的命令允许在终端上输入文件内容,输入文件内容,然后按CTRL+D 键保存文件。请看下面的终端截图

Linux Edit file

要编辑此文件,请执行以下命令以使用 Vi 编辑器打开它


Linux Edit file

上面的命令将在普通模式下使用 Vi 编辑器打开文件。请看下面的编辑器截图

该文件以普通模式打开,要切换到插入模式,请按“ESC”键然后按“i”键。将光标放在您想要的位置并输入一些文本。要保存文件并退出编辑器,请按“ESC”键,然后按:wq! 键。请看下面的编辑器截图

Linux Edit file

现在,我们已经成功使用 Vi 编辑器编辑了一个文件。编辑器将在此之后关闭并返回到命令行。要查看文件内容,请执行 cat 命令如下

请看下面的终端截图。

Linux Edit file
  • 使用 nano 文本编辑器编辑文件

Nano 也是 Linux 系统中最常用的编辑器之一。它是 Linux 中一个直接且有影响力的编辑器。它是 Linux 发行版的内置编辑器。在使用 nano 编辑器之前,我们不需要任何先验知识。在 nano 中,没有主要命令用于操作文件。所有基本操作都显示在编辑器底部。我们可以使用CTRL键触发它们,例如,要保存文件,请按CTRL+O键,要退出编辑器,请按CTRL+X键。

要使用 nano 编辑器编辑文件,请从文件存储的目录中打开文件,并执行以下命令

上面的命令将使用 nano 编辑器打开 Demo.txt 文件。要编辑文件,请移动光标并输入所需的文本,然后按CTRL+O键保存文件。请看下面的 nano 文本编辑器截图

Linux Edit file

CTRL+X键退出编辑器。您对文件所做的更改已成功保存。要验证更改,请执行 cat 命令如下

这将显示文件内容。请看下面的输出

Linux Edit file
  • 使用 Emacs 编辑器编辑文件

Emacs 编辑器也允许我们编辑文件。此外,它还具有许多内置功能,如网页浏览器、日历、终端等。它像一个普通的文本编辑器一样工作。在 Emacs 编辑器中,我们可以编辑文件并通过导航栏保存它们。它不是 Linux 系统中的内置编辑器,但我们可以通过终端安装它。

要安装 emacs 编辑器,请打开终端(按 CTRL+ALT+T)并执行以下命令

上面的命令将提示输入管理员密码,键入密码,然后按ENTER键。请看下面的终端截图

Linux Edit file

它将验证安装过程,按“y”键进行确认。安装过程将开始,完成安装过程需要一段时间。请看下面的输出

Get:1 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-common all 25.2+1-6 [13.1 MB]
Get:2 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile-bin amd64 1.14-1.1 [11.9 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile1 amd64 1.14-1.1 [6,804 B]
Get:4 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-bin-common amd64 25.2+1-6 [127 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgif7 amd64 5.1.4-2ubuntu0.1 [30.9 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libotf0 amd64 0.9.13-3build1 [44.6 kB]
Get:7 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 m17n-db all 1.7.0-2 [1,239 kB]
Get:8 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libm17n-0 amd64 1.7.0-3build1 [243 kB]
Get:9 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25 amd64 25.2+1-6 [3,468 kB]
Get:10 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs all 47.0 [1,748 B]
Get:11 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-el all 25.2+1-6 [15.6 MB]
Fetched 33.9 MB in 3min 20s (170 kB/s)                                         
Selecting previously unselected package emacs25-common.
(Reading database ... 168266 files and directories currently installed.)
Preparing to unpack .../00-emacs25-common_25.2+1-6_all.deb ...
Unpacking emacs25-common (25.2+1-6) ...
Selecting previously unselected package liblockfile-bin.
Preparing to unpack .../01-liblockfile-bin_1.14-1.1_amd64.deb ...
Unpacking liblockfile-bin (1.14-1.1) ...
Selecting previously unselected package liblockfile1:amd64.
Preparing to unpack .../02-liblockfile1_1.14-1.1_amd64.deb ...
Unpacking liblockfile1:amd64 (1.14-1.1) ...
Selecting previously unselected package emacs25-bin-common.
Preparing to unpack .../03-emacs25-bin-common_25.2+1-6_amd64.deb ...
Unpacking emacs25-bin-common (25.2+1-6) ...
Selecting previously unselected package libgif7:amd64.
Preparing to unpack .../04-libgif7_5.1.4-2ubuntu0.1_amd64.deb ...
Unpacking libgif7:amd64 (5.1.4-2ubuntu0.1) ...
Selecting previously unselected package libotf0:amd64.
Preparing to unpack .../05-libotf0_0.9.13-3build1_amd64.deb ...
Unpacking libotf0:amd64 (0.9.13-3build1) ...
Selecting previously unselected package m17n-db.
Preparing to unpack .../06-m17n-db_1.7.0-2_all.deb ...
Unpacking m17n-db (1.7.0-2) ...
Selecting previously unselected package libm17n-0:amd64.
Preparing to unpack .../07-libm17n-0_1.7.0-3build1_amd64.deb ...
Unpacking libm17n-0:amd64 (1.7.0-3build1) ...
Selecting previously unselected package emacs25.
Preparing to unpack .../08-emacs25_25.2+1-6_amd64.deb ...
Unpacking emacs25 (25.2+1-6) ...
Selecting previously unselected package emacs.
Preparing to unpack .../09-emacs_47.0_all.deb ...
Unpacking emacs (47.0) ...
Selecting previously unselected package emacs25-el.
Preparing to unpack .../10-emacs25-el_25.2+1-6_all.deb ...
Unpacking emacs25-el (25.2+1-6) ...
Setting up liblockfile-bin (1.14-1.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
Setting up libotf0:amd64 (0.9.13-3build1) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Setting up liblockfile1:amd64 (1.14-1.1) ...
Setting up libgif7:amd64 (5.1.4-2ubuntu0.1) ...
Setting up m17n-db (1.7.0-2) ...
Setting up emacs25-common (25.2+1-6) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up libm17n-0:amd64 (1.7.0-3build1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Setting up emacs25-bin-common (25.2+1-6) ...
update-alternatives: using /usr/bin/ctags.emacs25 to provide /usr/bin/ctags (ctags) in auto mode
update-alternatives: using /usr/bin/ebrowse.emacs25 to provide /usr/bin/ebrowse (ebrowse) in auto mode
update-alternatives: using /usr/bin/emacsclient.emacs25 to provide /usr/bin/emacsclient (emacsclient) in auto mode
update-alternatives: using /usr/bin/etags.emacs25 to provide /usr/bin/etags (etags) in auto mode
Setting up emacs25-el (25.2+1-6) ...
Setting up emacs25 (25.2+1-6) ...
update-alternatives: using /usr/bin/emacs25-x to provide /usr/bin/emacs (emacs) in auto mode
Install emacsen-common for emacs25
emacsen-common: Handling install of emacsen flavor emacs25
Install dictionaries-common for emacs25
install/dictionaries-common: Byte-compiling for emacsen flavour emacs25
Setting up emacs (47.0) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...

上面的守护进程已在我们的系统上安装了 emacs 编辑器。现在我们可以在 Linux 系统中探索 emacs 编辑器了。

要使用 emacs 编辑器打开文件,请将目录更改到文件所在路径,然后执行以下命令

上面的命令将使用 emacs 编辑器打开文件。我们可以像传统的文本编辑器一样编辑文件。请看下面的 emacs 编辑器截图

Linux Edit file

编辑文件并使用导航栏上的“保存”选项进行保存。

要验证文件的更新,请执行 cat 命令如下

考虑下面的输出

Linux Edit file
下一主题Linux which 命令