When something breaks on a Linux system, logs are where the answers live.
They are not advanced, dangerous, or mysterious. They are simply records of what the system and its programs are doing.
This guide walks through the simplest, safest way to read Linux logs step by step. Nothing here modifies your system. Everything is focused on practical understanding and real-world use.
What a Log Is
A log is just a text file.
It records what the system or a program did, in the order it happened.
That is all.
Logs help answer basic but important questions:
-
Did something start?
-
Did something fail?
-
When did it happen?
You do not need special tools or deep theory to begin reading logs. You only need to know where they live and how to view them safely.
Where Linux Logs Are Stored
On most Linux systems, logs are stored in one main directory:
/var/log
To see what is inside that directory, run:
ls /var/log
You may see output similar to this:
auth.logsyslogkern.logaptjournal
Each file contains a different type of log. You do not need to understand all of them right now.
The important thing to understand is this:
these are normal files, and you read them like any other text file.
In real IT work, this directory is often the first place an administrator checks when a system has a problem.
Reading a Log File Safely
We will start with one of the most common log files:
/var/log/syslog
To read it safely, use the less command:
less /var/log/syslog
The less command allows you to view a file without changing it.
When the file opens, you will see many lines of text. Each line usually contains:
-
A timestamp
-
The system name
-
A message describing what happened
How to Navigate in less
Use these basic controls:
-
Up Arrow and Down Arrow to move line by line
-
Space to move down one page
-
qto quit and return to the terminal
You cannot break anything here. You are only reading.
If the file feels overwhelming, that is normal. You are not expected to read everything. At this stage, the goal is simply to confirm that logs exist and that you can access them.
Viewing the Most Recent Log Entries
Most of the time, you care about what just happened, not the entire history.
To view the most recent log entries, use tail:
tail /var/log/syslog
Example output may look like this:
Feb 6 10:14:21 server systemd[1]: Started Daily Cleanup.Feb 6 10:14:22 server CRON[1245]: Job completed
By default, tail shows the last ten lines of a file. This is often the fastest way to understand recent system activity.
When a user says, “It just stopped working,” this is usually where you start looking.
Watching Logs Update in Real Time
For live troubleshooting, you can watch logs as they update.
Use the following command:
tail -f /var/log/syslog
New log entries will appear in the terminal as they are written.
To stop watching, press:
Ctrl + C
The -f option means “follow.”
You are watching the log file in real time.
This is one of the most important skills in Linux troubleshooting. It allows you to immediately see what happens when you start, stop, or restart a service.
Understanding a Log Line
Let’s slow down and look at a single example line:
Feb 6 10:14:22 server CRON[1245]: Job completed
Each part has a purpose:
-
Date and time: when it happened
-
Hostname: which machine logged the event
-
Program name: what wrote the message
-
Message: what happened
You do not need to decode every detail. You only need to recognize the pattern.
Confidence comes from familiarity, not memorization.
Viewing Authentication Logs
Authentication activity is recorded in another common log file:
less /var/log/auth.log
This log tracks:
-
Login attempts
-
Failed logins
-
sudousage
If someone cannot log in to a system, this file usually explains why.
Instead of guessing, you verify.
For example, when a user reports that they cannot connect using SSH, this log helps answer:
-
Did authentication succeed?
-
Did it fail?
-
Was access denied?
Common Beginner Mistakes
Using a Text Editor Instead of a Viewer
Avoid opening logs in editors like nano or vi when starting out.
Use less.
It is safer, simpler, and prevents accidental changes.
Forgetting Permissions
Some log files require elevated access.
If you see “Permission denied,” run:
sudo less /var/log/syslog
This is normal. It does not mean you made a mistake.
Trying to Understand Every Line
Logs are noisy.
You are not meant to understand everything at once.
Focus on timing, repetition, and obvious errors. Ignore the rest.
A Practical Troubleshooting Example
Imagine a service will not start.
First, begin watching the system log:
tail -f /var/log/syslog
In another terminal, restart the service:
sudo systemctl restart example-service
As the service restarts, new log entries appear. These entries tell you:
-
Did the service start?
-
Did it fail?
-
Why?
This is real troubleshooting. This is what Linux administrators actually do. And at this point, you are already doing it.
A Small Next Step
Once you are comfortable reading file-based logs, the next small step is learning:
journalctl
This command reads logs managed by systemd.
There is no rush. File-based logs are enough for now.
Steady progress builds real confidence.
Conclusion
Logs become easier the more you work with them.
Read them slowly. Use them often. Focus on patterns instead of details.
With repetition, this process will start to feel natural.