Show all lines of a (log) file in terminal

If a file has too many lines to show in only one screen, you can pipe the output to less like so:

cat myfile.txt | less

This paginates cat's output, allowing you to navigate through the file using the arrow keys.


Depending on the size of the file, you can use tail (if there are only 10 lines) or cat to see the whole log file.

If you want to use a better file viewer for logs on the terminal, I would advise using less on a file.

For Example

sudo less /var/log/syslog

This will produce the log file on your terminal screen and you will be able to move around the log file without it passing you like cat.

Advanced less features

  • To make sure text will stay on the screen after exiting less (very useful if you don't have an interface):

sudo less -X /var/log/syslog

  • To ignore cases on searches through less:

sudo less -i /var/log/syslog

  • To display line numbers when opening a file with less:

sudo less -N /var/log/syslog

To learn more about less

man less

and

less --help


You actually can just use less without piping too

less myfile.txt

More works well too:

more myfile.txt

The main differences between the two are that more only allows you to go down in a document, whereas less lets you go up and down. The benefit that more has is that is also keeps the information in the terminal when you exit it, which can be very helpful in certain situations.