Viewing and monitoring logs from the command line
The most basic way to view files from the command line is using the
cat command. You simply pass in the filename, and it outputs the entire contents of the file:
This can be inconvenient when dealing with large files (which isn’t uncommon for logs!). We could use an editor, although that may be overkill just to view a file. This is where the
less command comes in. We pass it the filename (
less file.txt), and it will open the file in a simple interface. From here, we can use the arrow keys (or j/k if you’re familiar with Vim) to move through the file, use
/ to search, and press
q to quit. There are a few more features, all of which are described by pressing
h to open the help.
Viewing the start or end of a file
We may also want to quickly view the first or last
n number of lines of a file. This is where the
tail commands come in handy. These commands work much like
cat, although you can specify how many lines from the start/end of the file you want to view. To view the first 15 lines of a file, we run
head -n 15 file.txt, and to view the last 15, we run
tail -n 15 file.txt. Due to the nature of log files being appended to at the bottom, the
tail command will generally be more useful.
To monitor a log file, you may pass the
-f flag to
tail. It will keep running, printing new additions to the file, until you stop it (Ctrl + C). For example:
tail -f file.txt.
One way that we looked at to search files is to open the file in
less and press
/. A faster way to do this is to use the
grep command. We specify what we want to search for in double quotes, along with the filename, and
grep will print all the lines containing that search term in the file. For example, to search for lines containing “test” in
file.txt, you would run
grep "test" file.txt.
If the result of a
grep search is too long, you may pipe it to
less, allowing you to scroll and search through it:
grep "test" file.txt | less.
The simplest way to edit files from the command line is to use
nano is a simple command line editor, which has all the most useful keybindings printed directly on screen. To run it, just give it a filename (
nano file.txt). To close or save a file, press Ctrl + X. The editor will ask you if you want to save your changes. Press
y for yes or
n for no. If you choose yes, it will ask you for the filename to save the file as. If you are editing an existing file, the filename will already be there. Simply leave it as it is and it will save to the proper file.