- How to Edit a File in Linux? [SOLVED]
- Edit Files in GUI using Gedit
- Edit Files in CLI
- Method-1: Using VIM
- Method-2: Using nano
- Alternatives
- What is NEXT
- Summary
- References
- How to open, create, edit, and view a file in Linux
- GUI text editors
- NEdit
- Geany
- Gedit
- Terminal-based text editors
- pico
- nano
- vim
- emacs
- Redirecting command output into a text file
- Creating an empty file with the touch command
- Redirecting text into a file
- Redirecting to the end of a file
- Related information
How to Edit a File in Linux? [SOLVED]
In Linux operating systems, everything is a file. There are daily routine tasks within the system such as turning new features on or off or editing files. An editor is needed for these tasks, regardless of GUI or CLI.
In this article, we will explain how to edit files in Linux operating systems.
Linux users have many alternatives for editing files. Let’s talk about a few applications for both GUI and CLI. At the end you will find the list of alternative apps for you.
Edit Files in GUI using Gedit
The first application we will describe is Gedit . Gedit is a text editor for the GNOME desktop. If you are using your Linux system with Gnome Desktop, your default text editor may already be Gedit. If you are using a different desktop, you may need to install it.
To install on Debian-based systems(Ubuntu, Mint, Pardus, etc), run the following command in terminal:
For installation on Redhat-based OS(Fedora, CentOS, AlmaLinux, Rocky Linux, etc):
$ sudo dnf install gedit.x86_64 -y
There are many plugins for Gedit. You can install the plugin you need from the package repository.
$ sudo dnf search gedit-plugin- Last metadata expiration check: 0:01:40 ago on Sun 12 Feb 2023 10:04:43 +03. ========================= Name Matched: gedit-plugin- ========================== gedit-plugin-bookmarks.x86_64 : gedit bookmarks plugin gedit-plugin-bracketcompletion.x86_64 : gedit bracketcompletion plugin gedit-plugin-charmap.x86_64 : gedit charmap plugin gedit-plugin-codecomment.x86_64 : gedit codecomment plugin gedit-plugin-colorpicker.x86_64 : gedit colorpicker plugin gedit-plugin-colorschemer.x86_64 : gedit colorschemer plugin gedit-plugin-commander.x86_64 : gedit commander plugin gedit-plugin-drawspaces.x86_64 : gedit drawspaces plugin gedit-plugin-editorconfig.x86_64 : EditorConfig plugin for Gedit gedit-plugin-findinfiles.x86_64 : gedit findinfiles plugin gedit-plugin-git.x86_64 : gedit git plugin gedit-plugin-joinlines.x86_64 : gedit joinlines plugin gedit-plugin-multiedit.x86_64 : gedit multiedit plugin gedit-plugin-sessionsaver.x86_64 : gedit sessionsaver plugin gedit-plugin-smartspaces.x86_64 : gedit smartspaces plugin gedit-plugin-synctex.x86_64 : gedit synctex plugin gedit-plugin-terminal.x86_64 : gedit terminal plugin gedit-plugin-textsize.x86_64 : gedit textsize plugin gedit-plugin-translate.x86_64 : gedit translate plugin gedit-plugin-wordcompletion.x86_64 : gedit wordcompletion plugin
After installing you can invoke Gedit in the Applications menu. Or you can open the file by clicking on a file (if it is not the default editor, right click and open with «Open With Other Application» > Gedit).
After this stage, you can start editing your files with pleasure.
Another application you can use to edit text in Linux is Mousepad. Mousepad is a simple text editor for Xfce desktop environment.
To install on Debian-based systems(Ubuntu, Mint, Pardus, etc), run the following command in terminal:
foc@ubuntu22desktop:~$ sudo apt install mousepad -y
For installation on Redhat-based OS(Fedora, CentOS, AlmaLinux, Rocky Linux, etc)
foc@fedora:~$ sudo dnf install mousepad.x86_64 -y
If mousepad is already your default text editor, double-clicking the mouse opens the file with the mousepad. If Mousepad is not the default editor, right-click and select «Open with Other Application» → Mousepad.
Mousepad is a very stable and useful text editor.
Edit Files in CLI
Method-1: Using VIM
Every Linux distribution has a text editor. Built for the end user, Linux OS comes with many text editors installed, while server systems have fewer. But vim/vi is available in almost all Linux distributions.
If for some reason it is not installed, to install it on Debian based systems:
foc@ubuntu22desktop:~$ sudo apt install vim -y
To install on Redhat based systems:
foc@fedora:~$ sudo dnf install vim -y
Type the filename you want to edit after the vim command in the terminal. If the file does not exist before, it will create a new file and display this information on the screen with the word «New».
You can edit the file by pressing the Insert key on the keyboard.
Then press ESC to cancel editing. If you want to save :wq , to exit without saving :q! write the expressions.
Let’s show you a few vim shortcuts:
dd - Delete entire current line q/ - search history in command buffer i - Enter insert mode to the left of the cursor a - Enter insert mode to the right of the cursor
- CTRL+u — Move up by half a page
- CTRL+d — Move down by half a page
- CTRL+b — Move up by a page
- CTRL+f — Move down by a page
Vi/vim is more than just a text editor. Some users use vim as an application development environment. So it has so many features. Check for more shortcut information.
Method-2: Using nano
Nano, on the other hand, is a simpler and plainer text editor. For installation(On Debian based OS):
foc@ubuntu22desktop:~$ sudo apt install nano -y
foc@fedora:~$ sudo dns install nano -y
The file to be edited is typed after the nano command in the terminal. If it doesn’t exist, it is created, if there is, you can start editing.
Here are some nano shortcuts:
Ctrl + X : Exit Ctrl + W: Search Ctrl + K : Cut line Ctrl + U: Paste line
Alternatives
Here are the application alternatives for both GUI and CLI:
Alternatives editor for GUI
- Xed
- Kate/Kwrite
- Sublime Text Editor
- Geany
- Leaf Pad
- Bluefish
- Atom
Alternatives editor for CLI
What is NEXT
Summary
We have shared text editors for both GUI and CLI. Habits are important when choosing a text editor. You can start using one of the text editors that we have shared and explained.
References
Didn’t find what you were looking for? Perform a quick search across GoLinuxCloud
If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.
For any other feedbacks or questions you can either use the comments section or contact me form.
Thank You for your support!!
How to open, create, edit, and view a file in Linux
One thing GNU/Linux does as well as any other operating system is give you the tools you need to create and edit text files. Ask ten Linux users to name their favorite text editor, and you might get ten different answers. On this page, we cover some text editors available for Linux.
GUI text editors
This section discusses GUI (graphical user interface) text editing applications for the Linux windowing system, X Windows, more commonly known as X11 or X.
If you are coming from Microsoft Windows, you are no doubt familiar with the classic Windows text editor, Notepad. Linux offers many similar programs, including NEdit, gedit, and geany. Each of these programs are free software, and they each provide roughly the same functionality. It’s up to you to decide which one feels best and has the best interface for you. All three of these programs support syntax highlighting, which helps with editing source code or documents written in a markup language such as HTML (hypertext markup language) or CSS (cascading style sheets).
NEdit
NEdit, which is short for the Nirvana Editor, is a straightforward text editor that is similar to Notepad. It uses a Motif-style interface.
The NEdit homepage is located at https://sourceforge.net/projects/nedit/. If you are on a Debian or Ubuntu system, you can install NEdit with the following command:
sudo apt-get install nedit
For more information, see our NEdit information page.
Geany
Geany is a text editor that is a lot like Notepad++ for Windows. It provides a tabbed interface for working with multiple open files at once and has nifty features like displaying line numbers in the margin. It uses the GTK+ interface toolkit.
The Geany homepage is located at http://www.geany.org/. On Debian and Ubuntu systems, you can install Geany by running the command:
sudo apt-get install geany
Gedit
Gedit is the default text editor of the GNOME desktop environment. It’s a great, text editor that can be used on about any Linux system.
The Gedit homepage is located at https://wiki.gnome.org/Apps/Gedit. On Debian and Ubuntu systems, Gedit can be installed by running the following command:
sudo apt-get install gedit
Terminal-based text editors
If you are working from the Linux command line interface and you need a text editor, you have many options. Here are some popular ones:
pico
pico started out as the editor built into the text-based e-mail program pine, and it was eventually packaged as a stand-alone program for editing text files. («pico» is a scientific prefix for small things.)
The modern version of pine is called alpine, but pico is still called pico. You can find more information about how to use it in our pico command documentation.
On Debian and Ubuntu Linux systems, you can install pico using the command:
sudo apt-get install alpine-pico
nano
nano is the GNU (GNU’s Not Unix) version of pico and is essentially the same program under a different name.
On Debian and Ubuntu Linux systems, nano can be installed with the command:
vim
vim, which stands for «vi improved,» is a text editor used by millions of computing professionals all over the world. Its controls are a little confusing at first, but once you get the hang of them, vim makes executing complex editing tasks fast and easy. For more information, see our in-depth vim guide.
On Debian and Ubuntu Linux systems, vim can be installed using the command:
emacs
emacs is a complex, highly customizable text editor with a built-in interpreter for the Lisp programming language. It is used religiously by some computer programmers, especially those who write computer programs in Lisp dialects such as Scheme. For more information, see our emacs information page.
On Debian and Ubuntu Linux systems, emacs can be installed using the command:
sudo apt-get install emacs
Redirecting command output into a text file
When at the Linux command line, you sometimes want to create or make changes to a text file without actually running a text editor. Here are some commands you might find useful.
Creating an empty file with the touch command
To create an empty file, it’s common to use the command touch. The touch command updates the atime and mtime attributes of a file as if the file’s contents had been changed — without actually changing anything. If you touch a file that doesn’t exist, the system creates the file without putting any data inside.
The above command creates a new, empty file called myfile.txt if that file does not already exist.
Redirecting text into a file
Sometimes you need to stick the output of a command into a file. To accomplish this quickly and easily, you can use the > symbol to redirect the output to a file.
For instance, the echo command is used to «echo» text as output. By default, this goes to the standard output — the screen. So the command:
The above command prints that text on your screen and return you to the command prompt. However, you can use > to redirect this output to a file. For instance:
echo "Example text" > myfile.txt
The above command puts the text «Example text» into the file myfile.txt. If myfile.txt does not exist, it is created. If it already exists, its contents will be overwritten, destroying the previous contents and replacing them.
Be careful when redirecting output to a file using >. It will overwrite the previous file’s contents if it already exists. There is no undo for this operation, so make sure you want to completely replace the file’s contents before you run the command.
Here’s an example using another command:
The above command executes ls with the -l option, which gives a detailed list of files in the current directory. The > operator redirects the output to the file directory.txt, instead of printing it to the screen. If directory.txt does not exist, it is created first. If it already exists, its contents will be replaced.
Redirecting to the end of a file
The redirect operator >> is similar to >, but instead of overwriting the file contents, it appends the new data to the end of the file. For instance, the command:
The above command takes the output of ls -l and adds it to directory.txt. If directory.txt does not exist, it is created first. If it already exists, the output of ls -l is added to the end of the file, one line after the existing content.