How to Install and Use the Nano Command in Linux

How to Install and Use the Nano Command in Linux

Digital illustration of a Linux terminal depicting the installation of the nano command a simple text editor

Are you finding it challenging to edit text files in Linux? This task can seem daunting, however the ‘nano’ command in Linux simplifies this process significantly. Nano provides an easy-to-use interface for editing plain text, especially for programmers. It can be installed via most package management systems, making the process straightforward once you know the steps.

In this guide, we will navigate you through the process of installing and using the ‘nano’ command in Linux. We will show you methods for both APT and YUM-based distributions, such as Debian, Ubuntu, CentOS, and AlmaLinux. We’ll delve into more advanced topics like compiling from source and installing a specific version of the command. Finally, we will guide you on how to use the ‘nano’ command and verify that the correct version is installed.

So, let’s dive in and start installing the ‘nano’ command on your Linux system!

TL;DR: How Do I Install and Use the ‘nano’ Command in Linux?

The 'nano' command is typically pre-installed on most Linux distributions. However, if it’s not available on your system, you can install it. For Debian-based distributions like Ubuntu, use the command sudo apt-get install nano. For RPM-based distributions like CentOS, use sudo yum install nano.

# For Debian-based distributions
sudo apt-get install nano

# For RPM-based distributions
sudo yum install nano

# Output:
# 'nano' is already the newest version (2.9.3-2).
# 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

This is a basic way to install the ‘nano’ command in Linux, but there’s much more to learn about installing and using ‘nano’. Continue reading for more detailed information and advanced usage scenarios.

Getting Started with the ‘nano’ Command

The ‘nano’ command in Linux is a command-line text editor, which is a simpler alternative to other editors like ‘vi’ or ’emacs’. It’s user-friendly and intuitive, making it a favorite among beginners and regular users alike. With ‘nano’, you can create, edit, and manage text files directly from your Linux terminal.

Installing ‘nano’ Using APT

On Debian-based distributions like Ubuntu, we use the Advanced Packaging Tool (APT) to install ‘nano’. Here’s how:

sudo apt update
sudo apt install nano

# Output:
# Reading package lists... Done
# Building dependency tree
# Reading state information... Done
# nano is already the newest version (2.9.3-2).
# 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

First, we update the package lists for upgrades and new packages from repositories with sudo apt update. Then, we install ‘nano’ using sudo apt install nano. The output informs us that ‘nano’ is already installed and is the newest version.

Installing ‘nano’ Using YUM

On RPM-based distributions like CentOS, we use the Yellowdog Updater, Modified (YUM) to install ‘nano’. Here’s the process:

sudo yum check-update
sudo yum install nano

# Output:
# Loaded plugins: fastestmirror, ovl
# Loading mirror speeds from cached hostfile
# Package nano-2.9.8-1.el7.x86_64 already installed and latest version
# Nothing to do

First, we check for system updates with sudo yum check-update. Then, we install ‘nano’ using sudo yum install nano. The output tells us that ‘nano’ is already installed and is the latest version.

Installing ‘nano’ Using DNF

On newer Fedora distributions, we use the Dandified YUM (DNF) to install ‘nano’. Here’s how:

sudo dnf check-update
sudo dnf install nano

# Output:
# Last metadata expiration check: 0:15:42 ago on Sat 22 Jan 2022 06:37:32 PM PKT.
# Package nano-2.9.8-1.el7.x86_64 is already installed.
# Dependencies resolved.
# Nothing to do.
# Complete!

First, we check for system updates with sudo dnf check-update. Then, we install ‘nano’ using sudo dnf install nano. The output tells us that ‘nano’ is already installed.

This is your first step into using the ‘nano’ command in Linux. In the next sections, we will delve into more advanced uses and alternative approaches.

Installing ‘nano’ from Source Code

For those who want more control over the installation process, you can install ‘nano’ directly from the source code. This method requires a bit more technical know-how but provides the latest features and updates.

Here’s how to install ‘nano’ from source on a Linux system:


tar -xvf nano-2.9.8.tar.gz

cd nano-2.9.8



sudo make install

# Output:
# 'nano' installed successfully from source.

This sequence of commands first downloads the ‘nano’ source code using wget and then extracts the tar.gz file with tar -xvf. We then navigate into the extracted directory with cd. The ./configure command checks your system for the necessary dependencies and prepares the makefile. make compiles the source code, and sudo make install installs the program.

Installing Different Versions of ‘nano’

There are situations where you might need to install a specific version of ‘nano’. This could be due to compatibility issues, or perhaps a certain feature is only available in a specific version.

Installing Specific Versions from Source

To install a specific version of ‘nano’ from source, you only need to change the URL in the wget command to the version you want. For example, to install version 2.9.7, the command would be wget

Installing Specific Versions Using APT or YUM

To install a specific version using APT or YUM, you can specify the version number in the install command. For example, sudo apt install nano=2.9.3-2 or sudo yum install nano-2.9.8-1.el7.

Version Comparison

VersionKey FeaturesCompatibility
2.9.3Auto-indent, new ‘tabgives’ commandUbuntu 18.04, 20.04
2.9.8Improved UTF-8 handling, new ‘wordbounds’ commandCentOS 7, 8

Basic Usage of ‘nano’

Once ‘nano’ is installed, you can start using it to edit text files. Here’s how to open a file called ‘example.txt’ in ‘nano’:

nano example.txt

# Output:
# Opens 'example.txt' in the 'nano' editor.

Verifying the Installation

To ensure ‘nano’ is installed correctly, you can use the nano --version command. This will display the version of ‘nano’ that is currently installed on your system.

nano --version

# Output:
# GNU nano, version 2.9.3

This command confirms that ‘nano’ is installed and displays the installed version.

Exploring Alternative Text Editors in Linux

While ‘nano’ is an excellent text editor for beginners, Linux offers a variety of other powerful text editors that you might want to consider as you become more comfortable with the command-line environment. Two of the most popular alternatives are ‘vi’ and ’emacs’.

Diving into ‘vi’

‘vi’ is a powerful text editor that comes pre-installed on almost every Unix-like system. It has a steeper learning curve compared to ‘nano’, but once mastered, it offers a wide range of features and commands that can significantly increase your productivity.

Here’s how to open a file named ‘example.txt’ with ‘vi’:

vi example.txt

# Output:
# Opens 'example.txt' in the 'vi' editor.

To save and exit in ‘vi’, you would press ESC, type :wq, and then press Enter.

Embracing ’emacs’

’emacs’ is another powerful text editor that is known for its extensive functionality and customizability. Like ‘vi’, it has a steep learning curve but offers a vast array of features that can be customized to fit your specific needs.

Here’s how to open a file named ‘example.txt’ with ’emacs’:

emacs example.txt

# Output:
# Opens 'example.txt' in the 'emacs' editor.

To save and exit in ’emacs’, you would press CTRL+X, then CTRL+S to save, followed by CTRL+X and CTRL+C to exit.

Comparing ‘nano’, ‘vi’, and ’emacs’

EditorEase of UseCustomizabilityPre-installedKey Features
‘nano’HighLowYesIntuitive interface, easy to learn
‘vi’MediumHighYesPowerful commands, widely available
’emacs’LowVery HighNoHighly customizable, extensive functionality

While ‘nano’ is the easiest to use, ‘vi’ and ’emacs’ offer more advanced features and customizability. Depending on your needs and comfort level, you might find one of these alternatives more suitable. Regardless of the text editor you choose, the key is to find the one that best fits your workflow and enhances your productivity.

Troubleshooting Common ‘nano’ Issues

While ‘nano’ is a reliable text editor, you may encounter some issues or errors during its use. Let’s discuss some common problems and their solutions.

‘nano’ Command Not Found

One common issue is the ‘nano: command not found’ error. This typically happens when ‘nano’ is not installed on your system or the system can’t locate the ‘nano’ binary.

nano example.txt

# Output:
# bash: nano: command not found

If you encounter this error, you should first check whether ‘nano’ is installed on your system using the which nano command. If ‘nano’ is installed, this command will return the path to the ‘nano’ binary.

which nano

# Output:
# /usr/bin/nano

If ‘nano’ is not installed, you should install it using the appropriate commands for your distribution, as discussed in the previous sections.

Permission Denied Error

Another common issue is the ‘Permission denied’ error. This occurs when you try to open a file with ‘nano’ that you do not have read permissions for.

nano /etc/shadow

# Output:
# Error reading /etc/shadow: Permission denied

In this case, you can use the sudo command to open the file with root permissions. But be careful when editing system files as it can potentially break your system.

sudo nano /etc/shadow

# Output:
# Opens /etc/shadow in the 'nano' editor with root permissions.

Remember, while ‘nano’ is a powerful tool, it must be used wisely. Always double-check your commands, especially when editing system files or using root permissions.

Understanding Text Editors in Linux

In the world of Linux, text editors are an essential tool for every user. They allow you to create, modify, and view text files. This can range from writing a simple note to scripting a complex program.

Command-line vs. Graphical Text Editors

There are two main types of text editors in Linux: command-line and graphical.

Command-line Text Editors

Command-line text editors, such as ‘nano’, ‘vi’, and ’emacs’, are run directly in the terminal. They are lightweight and can be used remotely through an SSH connection. They also offer powerful features like syntax highlighting, search and replace, and the ability to handle large files.

Here’s an example of opening a file with ‘nano’ in the terminal:

nano my_file.txt

# Output:
# Opens 'my_file.txt' in the 'nano' editor.

In this example, we used the ‘nano’ command followed by the name of the file to open it in the terminal.

Graphical Text Editors

Graphical text editors, such as Gedit or Kate, provide a graphical user interface (GUI) for editing text files. They are easy to use and often come with features like multiple document editing, spell check, and more.

Here’s an example of opening a file with Gedit:

gedit my_file.txt

# Output:
# Opens 'my_file.txt' in the Gedit editor.

In this example, we used the ‘gedit’ command followed by the name of the file to open it in the Gedit editor.

The Importance of Text Editing in Linux

Text editing is a fundamental skill in Linux. It’s essential for tasks like editing configuration files, writing scripts, taking notes, and programming. Understanding how to use a text editor like ‘nano’ can significantly enhance your productivity and efficiency as a Linux user.

In conclusion, whether you prefer a command-line or a graphical text editor depends on your needs and comfort level. However, having a basic understanding of how to use a command-line text editor like ‘nano’ is a valuable skill for any Linux user.

Expanding Your Linux Skills: Scripting and Programming

Understanding how to install and use the ‘nano’ command in Linux is just the beginning. The real power of Linux lies in its ability to automate tasks and execute complex operations through scripting and programming.

The Power of Scripting in Linux

Scripting in Linux allows you to automate repetitive tasks, manage files and directories, and even create your own commands. With just a few lines of code, you can automate complex tasks, saving you time and effort.

Here’s an example of a simple bash script that uses ‘nano’ to create a new text file:


echo 'Hello, world!' | nano -t my_file.txt

# Output:
# Creates a new file named 'my_file.txt' containing the text 'Hello, world!'.

In this example, we create a bash script that uses the ‘echo’ command to output the text ‘Hello, world!’, which we then pipe into ‘nano’ to create a new text file named ‘my_file.txt’.

Understanding File Permissions in Linux

Another important aspect of Linux is file permissions. Understanding file permissions is crucial for managing access to files and directories in a Linux system.

Here’s an example of how to change file permissions using the ‘chmod’ command:

chmod 755 my_file.txt

# Output:
# Changes the permissions of 'my_file.txt' to 755 (read, write, and execute for the owner, and read and execute for the group and others).

In this example, we use the ‘chmod’ command to change the permissions of ‘my_file.txt’ to 755, which allows the owner to read, write, and execute the file, and allows the group and others to read and execute the file.

Further Resources for Linux Mastery

If you’re interested in diving deeper into Linux, here are some resources to help you on your journey:

  1. The Linux Command Line: A Complete Introduction – This book offers a comprehensive introduction to the command line, including text editing with ‘nano’.

  2. Learn Linux in 5 Days – This online course provides a quick introduction to Linux, covering a wide range of topics including text editing, file permissions, and scripting.

  3. Linux Journey – This website offers a fun and interactive way to learn Linux, with lessons on a variety of topics including the command line, file permissions, and scripting.

Remember, mastering Linux is a journey. Take it one step at a time, and before you know it, you’ll be a Linux pro!

Wrapping Up: Installing the ‘nano’ Command in Linux

In this comprehensive guide, we’ve navigated the ins and outs of the ‘nano’ command in Linux, a versatile text editor that simplifies file editing right in the terminal.

We began with the basics, learning how to install ‘nano’ using different package managers like APT, YUM, and DNF. We also explored how to install ‘nano’ directly from the source code, providing you with the latest features and updates. We then delved into more advanced usage, such as installing specific versions of ‘nano’ and the basic usage of the command.

Along the way, we tackled common challenges you might face when using ‘nano’, such as the ‘command not found’ error and ‘permission denied’ error, providing you with solutions for each issue.

We also looked at alternative text editors in Linux, comparing ‘nano’ with other popular editors like ‘vi’ and ’emacs’. Here’s a quick comparison of these editors:

EditorEase of UseCustomizabilityPre-installed
’emacs’LowVery HighNo

Whether you’re just starting out with the ‘nano’ command in Linux or you’re looking to level up your text editing skills, we hope this guide has given you a deeper understanding of ‘nano’ and its capabilities.

With its balance of ease of use, customizability, and widespread availability, ‘nano’ is a powerful tool for text editing in Linux. Happy coding!