What is /dev/null and How to Use it?

“In the Linux operating system, all the different entities are considered as files. Even the physical and virtual devices that you use within the Linux environment are referred to as files and dealt with accordingly. There are some special files in this operating system as well that are there to serve some specialized purposes. The /dev/null is also one such file, and this guide will teach you in detail what it really is and how you can use it in Linux.”

What is /dev/null?

/dev/null is a special kind of virtual device or file in the Linux operating system. The most distinguishing characteristic of this virtual device is that whatever data is dumped onto this device or file instantly disappears, i.e., this device or file discards whatever you try to place on it. As an example, we will try to push a simple string to this file with the help of the following command:

$ echo “Hello World” > /dev/null

Generally, whenever you push a string to a file and afterward when you attempt to see the contents of that file, your pushed string appears on the terminal. However, this is not the case with the /dev/null file. To illustrate this, we executed the command shown below:

$ cat /dev/null

When we executed this command, it did not display any output, as shown in the following image. It means that the /dev/null file is empty, or in other words, it has simply discarded the string that we tried to place on it.

How to Use /dev/null?

Now, you might be thinking that when the /dev/null file does not serve any purpose other than being a black hole inside which everything simply disappears, then how we can make good use of this special file? Well, at times, while executing any command in Linux, you feel like keeping a certain portion of the output and discarding the rest. For example, the output of a Linux command can go to one of the two streams, i.e., stdout and stderr. The former holds the correct output of the command, whereas the latter holds all sorts of errors during execution. These two streams are referred to by the file descriptors “1” and “2”, respectively. At times, you might only be interested in visualizing all the errors, and the stdout data might be of no use for you. In that case, the /dev/null file comes in handy as you can just discard the stdout data by making use of this special file. To do this, you will have to consider the following example in which we will try to ping the Google server with the command shown below:

$ ping google.com

The regular output of this command is shown in the following image:

However, at times, you might not want to see these successful ping attempts; rather, you are only interested in seeing the failures (if any). To do so, you will have to run the command shown below:

$ ping google.com 1> /dev/null

The “1> /dev/null” expression in this command will simply push all the successful ping attempts to the /dev/null file, where they will simply disappear while keeping only the failed attempts (if any). If your ping command encounters any failures, then only those attempts will be displayed on your terminal.


This article solely revolved around the /dev/null special file in Linux. We started off with a brief description of this file, followed by an example scenario in which you can make use of this file. After getting this knowledge, you will be able to make the best use of the /dev/null file on your Linux system.

Similar Posts