搜索
首页系统教程LINUXLinux 命令行编辑 – 编辑无限可能!

Linux 命令行编辑 – 编辑无限可能!

Feb 15, 2024 am 08:00 AM
linuxlinux教程linux系统linux命令外壳脚本嵌入式linuxlinux入门linux学习

对于 Linux 用户来说,命令行编辑器是必不可少的工具之一。它可以帮助你快速地编辑和处理文件,提高工作效率。但是,对于新手来说,学习命令行编辑器可能会有些困难和挑战。今天,我们将介绍几个最流行和最实用的 Linux 命令行编辑器,帮助你快速掌握这个技能。

如果你正在使用 Linux 或者 BSD 的话,你很可能已经默认安装了 ed(在 Linux 上是 GNU 版 ed,而在 BSD 上是 BSD 版 ed)。但是,一些极简的环境可能没有包括 ed,这也没关系,你的发行版的软件仓库中很可能有 ed 可供下载。macOS 默认安装了 BSD 版 ed。

Linux 命令行编辑 – 编辑无限可能!

这个看似简单的编辑器为用户提供了许多易于学习和使用的命令。

GNU ed 命令是一个行编辑器。它被认为是标准的 Unix 文本编辑器,因为它是首个出现在 Unix 的文本编辑器,并且它曾经无处不在,你在任何一个 POSIX 系统中都能找到它(通常来说,你现在也可以)。在某种程度上,你可以很容易看出来它是第一个文本编辑器,因为它在许多方面的功能都十分基础。和其他大多数的文本编辑器不同,它不会打开一个属于自己的窗口或显示区域,事实上,在默认情况下,它甚至不会提示用户输入文字。从另一个方面来说,它在交互功能上的缺失也可以成为一个优点。它是一个多功能的编辑器,你可以用简短的命令控制它,无论是在交互式的命令行中,还是在编写的 shell 脚本里。

安装 ed

如果你正在使用 Linux 或者 BSD 的话,你很可能已经默认安装了 ed(在 Linux 上是 GNU 版 ed,而在 BSD 上是 BSD 版 ed)。但是,一些极简的环境可能没有包括 ed,这也没关系,你的发行版的软件仓库中很可能有 ed 可供下载。macOS 默认安装了 BSD 版 ed。

启动 ed

当你启动 ed 的时候,你的终端提示符不见了,看起来好像是 ed 停止运行了。其实它没有,它只是在等待你输入指令而已。

$ ed

为使 ed 显示更详细的信息,你可以输入命令 p 让它返回一个提示符:

    $ ed
    p
    ?

这个问号(?)是默认的 ed 提示符。

缓冲区

当 ed 激活时,你其实是在和一个叫 缓冲区buffer 的东西打交道。缓冲区是内存中的一块区域。你并不会直接编辑文件,而是在编辑它对应的缓冲区。当你退出 ed 却没有把修改保存到磁盘的文件上时,所有的修改都会丢失,因为它们只在缓冲区里存在。(这对于一个已经习惯了初始的 草图缓冲区scratch buffer 的资深 Emacs 用户可能很耳熟。)

使用 ed 输入文本

启动 ed 后,你处于命令模式。这意味着你可以向编辑器发送指令,比如让它显示一个提示符,而不是空白区域。你可以使用 a 命令开始附加文本到当前的缓冲区,使用一个实心的点 . 来终止输入。比如,下面的这个例子往缓冲区里附加了两行文字(“hello world” 和 “hello ed”):

    ?
    a
    hello world
    hello ed
    .

使用点 . 终止输入后,你将回到命令模式。

查看缓冲区

怎样查看当前缓冲区里都有什么呢?你可以输入想要查看的行号,也可以使用 ,p 命令来显示所有的行:

    ?
    1
    hello world
    2
    hello ed
    ,p
    hello world
    hello ed

写入文件

如果你现在对文本很满意,你可以使用 w 命令把缓冲区写入到文件中,后面跟上目标文件名:

    ?
    w example.txt
    19

写操作后显示的那个数字代表着写入到文件中的字符数。

读取文件

除了使用 ed 来读取文本,你也可以使用 r 命令把一个已经存在的文件加载到到缓冲区里:

    ?
    r myfile.txt

另外,你也可以在启动 ed 时,在它后面加上你想要加载到缓冲区里的文件名:

$ ed myfile.txt

编辑缓冲区

鉴于 ed 是一个文本编辑器,你当然可以使用一种特殊的语法来编辑缓冲区里的文本。使用 sed 或 vim 的用户或许会觉得这个语法很熟悉。假设现在缓冲区里已经加载了一个文件:

    $ ed myfile.txt
    ,p
    This is an example document.
    There is some text, but not much.
    There is some errors, but not much.

如果你要把第一句话中的 document 修改为 file,你可以先选择目标行(1),然后使用 s 命令调用搜索函数,后面跟着搜索文本和替换文本:

    ?
    1
    This is an example document.
    s/document/file/
    1
    This is an example file.

如果你要编辑其他行,步骤也是一样的,只需提供一个不同的行号即可:

    ?
    3
    There is some errors, but not much.
    s/is/are/
    s/much/many/

你可以使用 ,p 命令来看到你对缓冲区的历史编辑记录:

    This is an example file.
    There is some text, but not much.
    There are some errors, but not many.

当然,这些修改只存在于缓冲区里。你如果在 ed 编辑器外查看这个文件,你只会看到原始的文本:

    $ cat myfile.txt
    This is an example document.
    There is some text, but not much.
    There is some errors, but not much.

如果你要把这些修改保存回文件中,使用 w 命令即可:

    w myfile.txt
    258

清空缓冲区

如果想要得到一个新的缓冲区,以此来打开一个新的文件,或者把一个新的文件加载到不同的环境中,你可以使用 c 命令。使用这个清空缓冲区后,什么也不会输出,因为缓冲已经是空的了:

    c
    ,p

退出

如果要退出当前的 ed 会话,你可以使用 q 命令。它并不会给你一个保存缓冲区的机会,所以你要确保自己在这之前执行了保存操作。

尝试一下 ed 吧

ed 还可以做到很多事情,学习 ed 可以让你知道它和部分的 vim 是如何工作的。我并没有尝试使用 ed 来写这篇文章,老实说,我也不认为它是通常意义上的最佳文本编辑器。但是,ed 仍然是一个出色的编辑器。通过阅读它的文档,你可以很轻松地学会它。在 GNU 系统上,你可以使用 info ed 来查看它的操作手册。

总之,Linux 命令行编辑器是 Linux 用户必备的工具之一。在本文中,我们介绍了 Vim、Nano、Emacs 和 Ed 四种常用且优秀的命令行编辑器。每个编辑器都有其特色和用途,你可以根据自己的需求选择其中的一种或几种。希望这篇文章能够对你有所帮助,让你更加熟练地使用 Linux 命令行编辑器。

以上是Linux 命令行编辑 – 编辑无限可能!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:良许Linux教程网。如有侵权,请联系admin@php.cn删除
如何使用Next' Linux中的尴尬命令 - 第6部分如何使用Next' Linux中的尴尬命令 - 第6部分May 15, 2025 am 10:43 AM

在我们的尴尬系列的第六部分中,我们将探索下一个命令,该命令可以通过跳过冗余处理步骤来提高脚本执行的效率。下一个命令是什么?awk instruc中的下一个命令

如何在Linux中有效传输文件如何在Linux中有效传输文件May 15, 2025 am 10:42 AM

在Linux系统中传输文件是一项常见任务,每个系统管理员都应掌握,尤其是涉及本地或远程系统间的网络传输。Linux提供了两种常用的工具来完成此任务:SCP(安全复制)和Rsync。两者都提供了一种安全且便捷的方式,用于在本地或远程机器之间传输文件。本文将详细介绍如何使用SCP和Rsync命令来传输文件,包括本地和远程文件传输。了解Linux中的scp(安全复制协议)scp命令是一个命令行程序,用于在两个主机之间通过SSH(安全 Shell)安全地复制文件和目录,这意味着在文件通过互联网传输时,数

有史以来最受欢迎的Linux桌面环境有史以来最受欢迎的Linux桌面环境May 15, 2025 am 10:35 AM

与Windows和Mac OS X相比,Linux的一个引人入胜的功能是对各种桌面环境的支持。这使桌面用户可以根据其计算要求选择最合适且最合适的桌面环境。A

如何在Linux桌面中安装Libreoffice 24.8如何在Linux桌面中安装Libreoffice 24.8May 15, 2025 am 10:15 AM

Libreoffice脱颖而出,是一个健壮的开源办公室套件,适用于Linux,Windows和Mac平台。它拥有一系列用于处理Word文档,电子表格,演示,图纸,计算和Mathematica的高级功能

如何使用linux中的仅限文件来处理PDF文件如何使用linux中的仅限文件来处理PDF文件May 15, 2025 am 09:58 AM

管理PDF文件的Linux用户可以使用各种程序。具体来说,有许多专门为各种功能设计的专业PDF工具。

如何使用AWK和STDIN过滤命令输出如何使用AWK和STDIN过滤命令输出May 15, 2025 am 09:53 AM

在AWK命令系列的较早部分中,我们的重点主要是从文件中读取输入。但是,如果您需要从stdin中读取输入怎么办?在Awk系列的第7部分中,我们将探索几个示例,您可以在其中使用O的输出。

CLIFM- Linux的Lightning -Fast终端文件管理器CLIFM- Linux的Lightning -Fast终端文件管理器May 15, 2025 am 09:45 AM

Clifm是一个独特而令人难以置信的迅速命令行文件管理器,在类似壳的界面的基础上设计。这意味着用户可以使用他们已经熟悉的命令与他们的文件系统互动。

如何从Linux Mint 21.3升级到Linux Mint 22如何从Linux Mint 21.3升级到Linux Mint 22May 15, 2025 am 09:44 AM

如果您不想执行Linux Mint 22 Wilma的新安装,则可以选择从以前的版本中升级。在本指南中,我们将详细介绍从Linux Mint 21.3升级的过程(21.X系列的最新次要版本

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具