The usual way to view the contents of a file is to simply open it in a text editor. However, for more quick viewing and in fact, also for automating in a shell script, the method of using a text editor does not suit.
There are many commands in Linux to solve this problem: to display the file contents on the command line.
Let us take a look at a few such commands.
View Contents of File Using Cat Command
A cat command is the most commonly used command to view the contents of a file. The syntax to use cat is quite simple, as shown below:
$ cat samplefile.txt
View File Contents By Line Numbers
The nl is another command in Linux which displays the contents of a file. It stands for ‘Number lines’, as the output displayed by this command is numbered lines.
$ nl samplefile.txt
The nl command has even more options to format the output numbering in various ways. However, to simply display the contents, it can be used as discussed above.
View File Contents Using More or Less Commands
The ‘more’ or ‘less’ are pretty much the same command in Linux. They display a file on the terminal one page at a time and are thus very useful in displaying large files.
For smaller files, ‘more’ works the same as the cat command, whereas ‘less’ works the same for both larger and smaller files.
$ more samplefile.txt
$ less samplefile.txt
The output of ‘less’ is displayed on an overlay screen, and can be exited by pressing
‘q’. Thus the output is not permanently written to the screen.
View File Contents Using head or tail Commands
The head command is used to print the first 10 lines of a file, instead of printing the whole file. Similar tail prints the last 10 lines of a file.
For example, the following respectively print the first and last 10 lines of the huge logfile ‘/var/log/syslog‘.
$ head /var/log/syslog
$ tail samplefile.txt
If you need to print a different number of top or bottom lines of the file, use the argument
$ head -n5 /var/log/syslog $ tail -n5 /var/log/syslog
Today we learned about various ways to display the contents of a file in the Linux command line. If you know any other cool way to display file contents in the command line, do share it with everyone in the comments below!