View a log file in Linux dynamically
Categories:
How to Dynamically View Log Files in Linux

Learn various methods to monitor log files in real-time on Linux systems, from basic commands to advanced tools, ensuring you stay on top of system events and application behavior.
Log files are crucial for understanding the health and behavior of your Linux system and applications. When troubleshooting issues or monitoring system activity, it's often necessary to view these logs as they are being written, rather than just inspecting a static snapshot. This article explores several powerful Linux commands and techniques to dynamically view log files, helping you react quickly to events and diagnose problems efficiently.
The tail
Command: Your First Line of Defense
The tail
command is the most fundamental and widely used tool for viewing the end of a file. Its -f
(follow) option makes it indispensable for dynamic log monitoring. When used with -f
, tail
will continuously output new lines appended to the file, effectively providing a real-time stream of log entries. This is perfect for watching a single log file.
tail -f /var/log/syslog
Dynamically view the system log file.
-n
with -f
. For example, tail -n 50 -f /var/log/auth.log
will show the last 50 lines and then follow new entries.Monitoring Multiple Logs with tail
and multitail
While tail -f
is great for a single file, what if you need to monitor several log files simultaneously? You can achieve this with multiple tail -f
commands in separate terminal windows, or more elegantly, by piping tail
output to grep
or using a specialized tool like multitail
.
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
Monitor multiple Nginx log files simultaneously using tail
.
multitail
is a more advanced utility designed specifically for monitoring multiple log files in a single terminal window, often with syntax highlighting and filtering capabilities. It's not usually installed by default but is available in most distribution repositories.
# Installation (Debian/Ubuntu)
sudo apt update
sudo apt install multitail
# Usage
multitail /var/log/syslog /var/log/auth.log
Install and use multitail
to view multiple logs.
flowchart TD A[Start Monitoring] --> B{Choose Tool} B -- "Single Log" --> C[tail -f] B -- "Multiple Logs" --> D{Multiple tail -f instances} D --> E[multitail] C --> F[Real-time Output] E --> F F --> G[Analyze Events] G --> H[End Monitoring]
Decision flow for dynamic log viewing methods.
Advanced Filtering and Searching with grep
and awk
For more targeted monitoring, you can combine tail -f
with grep
to filter log entries for specific patterns or keywords. This is incredibly useful when you're looking for errors, warnings, or specific user actions in a busy log file. The awk
command can also be used for more complex parsing and formatting of log data.
tail -f /var/log/apache2/error.log | grep -i "error|warn"
tail -f /var/log/auth.log | awk '/Failed password/ {print $0}'
Filter Apache error logs for 'error' or 'warn' and authentication logs for failed passwords.
tail -f
output to commands that might buffer extensively. While grep
generally works well, some commands might delay output, defeating the purpose of real-time monitoring. Always test your command combinations.Using less
with +F
for Dynamic Viewing
The less
command is a powerful pager often used for viewing large files. It also has a 'follow' mode, similar to tail -f
, which can be activated by pressing Shift + F
while viewing a file, or by starting less
with the +F
option. This allows you to scroll back through the history of the log file even while new entries are being added, a feature tail -f
lacks.
less +F /var/log/kern.log
Start less
in follow mode for the kernel log.
Once in +F
mode, you can press Ctrl + C
to pause the following, allowing you to scroll up and down the file. Pressing Shift + F
again will resume following new entries. This flexibility makes less +F
a strong contender for interactive log analysis.