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.