search
HomeSystem TutorialLINUXLinux Command Line Editing – The editing possibilities are endless!

Linux Command Line Editing – The editing possibilities are endless!

Feb 15, 2024 am 08:00 AM
linuxlinux tutoriallinux systemlinux commandshell scriptembeddedlinuxGetting started with linuxlinux learning

For Linux users, the command line editor is one of the essential tools. It can help you edit and process files quickly and improve work efficiency. However, for newbies, learning the command line editor can be somewhat difficult and challenging. Today, we will introduce several of the most popular and useful Linux command line editors to help you quickly master this skill.

If you are using Linux or BSD, you most likely have ed installed by default (the GNU version of ed on Linux, and the BSD version of ed on BSD). However, some minimalist environments may not include ed, and that's okay, your distribution's software repository will most likely have ed available for download. macOS comes with the BSD version of ed installed by default.

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

This deceptively simple editor provides users with many commands that are easy to learn and use.

The GNU ed command is a line editor. It is considered the standard Unix text editor because it was the first text editor to appear on Unix, and it was once so ubiquitous that you could find it on every POSIX system (generally speaking, you can now Can). In a way, you can easily tell that it was the first text editor because it was so basic in many aspects. Unlike most other text editors, it doesn't open a window or display area of ​​its own. In fact, by default, it doesn't even prompt the user for text. On the other hand, its lack of interactivity can also be an advantage. It is a versatile editor that you can control with short commands, either interactively from the command line or from a shell script.

Install ed

If you are using Linux or BSD, you most likely have ed installed by default (the GNU version of ed on Linux, and the BSD version of ed on BSD). However, some minimalist environments may not include ed, and that's okay, your distribution's software repository will most likely have ed available for download. macOS comes with the BSD version of ed installed by default.

Start ed

When you start ed, your terminal prompt disappears, and it looks like ed has stopped running. Actually it doesn't, it's just waiting for your input.

$ ed

To make ed display more detailed information, you can enter the command p to have it return a prompt:

    $ ed
    p
    ?

This question mark (?) is the default ed prompt.

Buffer

When ed is activated, you are actually dealing with something called a buffer buffer. A buffer is an area in memory. You're not editing the file directly, you're editing its corresponding buffer. When you exit ed without saving the changes to the file on disk, all changes will be lost because they only exist in the buffer. (This may sound familiar to experienced Emacs users who are used to the initial scratch buffer.)

Use ed to enter text

After starting ed, you are in command mode. This means you can give instructions to the editor, such as having it display a prompt instead of empty space. You can use the a command to start appending text to the current buffer, and use a solid dot . to terminate the input. For example, the following example appends two lines of text ("hello world" and "hello ed") to the buffer:

    ?
    a
    hello world
    hello ed
    .

Use dot . After terminating input, you will return to command mode.

View buffer

How to check what is in the current buffer? You can enter the line number you want to check, or you can use the ,p command to display all lines:

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

Write to file

If you are now satisfied with the text, you can write the buffer to a file using the w command, followed by the target file name:

    ?
    w example.txt
    19

The number displayed after the write operation represents the number of characters written to the file.

Read file

In addition to using ed to read text, you can also use the r command to load an existing file into the buffer:

    ?
    r myfile.txt

In addition, you can also add the file name you want to load into the buffer after it when starting ed:

$ ed myfile.txt

Edit Buffer

Given that ed is a text editor, you can of course use a special syntax to edit the text in the buffer. Users of sed or vim may find this syntax familiar. Assume that a file is already loaded in the buffer:

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

If you want to change document in the first sentence to file, you can first select the target line (1), and then use the s command to call the search function, followed by the search text and replacement text:

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

If you want to edit other lines, the steps are the same, just provide a different line number:

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

You can use the ,p command to see your historical editing records of the buffer:

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

Of course, these modifications only exist in the buffer. If you view this file outside of the ed editor, you will only see the original text:

    $ 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 命令行编辑器。

The above is the detailed content of Linux Command Line Editing – The editing possibilities are endless!. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:良许Linux教程网. If there is any infringement, please contact admin@php.cn delete
Is it hard to learn Linux?Is it hard to learn Linux?Apr 18, 2025 am 12:23 AM

Learning Linux is not difficult. 1.Linux is an open source operating system based on Unix and is widely used in servers, embedded systems and personal computers. 2. Understanding file system and permission management is the key. The file system is hierarchical, and permissions include reading, writing and execution. 3. Package management systems such as apt and dnf make software management convenient. 4. Process management is implemented through ps and top commands. 5. Start learning from basic commands such as mkdir, cd, touch and nano, and then try advanced usage such as shell scripts and text processing. 6. Common errors such as permission problems can be solved through sudo and chmod. 7. Performance optimization suggestions include using htop to monitor resources, cleaning unnecessary files, and using sy

What is the salary of Linux administrator?What is the salary of Linux administrator?Apr 17, 2025 am 12:24 AM

The average annual salary of Linux administrators is $75,000 to $95,000 in the United States and €40,000 to €60,000 in Europe. To increase salary, you can: 1. Continuously learn new technologies, such as cloud computing and container technology; 2. Accumulate project experience and establish Portfolio; 3. Establish a professional network and expand your network.

What is the main purpose of Linux?What is the main purpose of Linux?Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

Does the internet run on Linux?Does the internet run on Linux?Apr 14, 2025 am 12:03 AM

The Internet does not rely on a single operating system, but Linux plays an important role in it. Linux is widely used in servers and network devices and is popular for its stability, security and scalability.

What are Linux operations?What are Linux operations?Apr 13, 2025 am 12:20 AM

The core of the Linux operating system is its command line interface, which can perform various operations through the command line. 1. File and directory operations use ls, cd, mkdir, rm and other commands to manage files and directories. 2. User and permission management ensures system security and resource allocation through useradd, passwd, chmod and other commands. 3. Process management uses ps, kill and other commands to monitor and control system processes. 4. Network operations include ping, ifconfig, ssh and other commands to configure and manage network connections. 5. System monitoring and maintenance use commands such as top, df, du to understand the system's operating status and resource usage.

Boost Productivity with Custom Command Shortcuts Using Linux AliasesBoost Productivity with Custom Command Shortcuts Using Linux AliasesApr 12, 2025 am 11:43 AM

Introduction Linux is a powerful operating system favored by developers, system administrators, and power users due to its flexibility and efficiency. However, frequently using long and complex commands can be tedious and er

What is Linux actually good for?What is Linux actually good for?Apr 12, 2025 am 12:20 AM

Linux is suitable for servers, development environments, and embedded systems. 1. As a server operating system, Linux is stable and efficient, and is often used to deploy high-concurrency applications. 2. As a development environment, Linux provides efficient command line tools and package management systems to improve development efficiency. 3. In embedded systems, Linux is lightweight and customizable, suitable for environments with limited resources.

Essential Tools and Frameworks for Mastering Ethical Hacking on LinuxEssential Tools and Frameworks for Mastering Ethical Hacking on LinuxApr 11, 2025 am 09:11 AM

Introduction: Securing the Digital Frontier with Linux-Based Ethical Hacking In our increasingly interconnected world, cybersecurity is paramount. Ethical hacking and penetration testing are vital for proactively identifying and mitigating vulnerabi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)