Bird
Raised Fist0
Linux CLIscripting~5 mins

journalctl for systemd logs in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is journalctl used for in Linux?

journalctl is a command-line tool to view and manage systemd logs on Linux systems. It helps you read system and service logs stored by systemd's journal.

Click to reveal answer
beginner
How do you show the most recent logs using journalctl?

Use journalctl -r to display logs in reverse order, showing the newest entries first.

Click to reveal answer
beginner
How can you filter logs for a specific service, for example, ssh.service?

Use journalctl -u ssh.service to see logs only for the SSH service.

Click to reveal answer
beginner
What option shows live logs as they happen with journalctl?

Use journalctl -f to follow logs live, similar to tail -f.

Click to reveal answer
beginner
How do you limit journalctl output to logs from the current boot only?

Use journalctl -b to show logs from the current boot session.

Click to reveal answer
Which command shows the latest systemd logs first?
Ajournalctl -r
Bjournalctl -b
Cjournalctl -f
Djournalctl -u
How do you view logs only for the nginx.service?
Ajournalctl -f nginx.service
Bjournalctl -b nginx.service
Cjournalctl -u nginx.service
Djournalctl -r nginx.service
What does journalctl -f do?
AFilters logs by user
BShows logs from the last boot
CShows logs in reverse order
DFollows logs live as they are written
Which option limits logs to the current boot session?
A-b
B-u
C-r
D-f
If you want to see all logs without filtering, which command do you use?
Ajournalctl -u
Bjournalctl
Cjournalctl -f
Djournalctl -b
Explain how to use journalctl to check logs for a specific service and follow them live.
Think about filtering by service and watching logs as they update.
You got /3 concepts.
    Describe how to view only the logs from the current boot using journalctl and why this might be useful.
    Focus on isolating logs to the current system start.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the journalctl command in Linux?
      easy
      A. To edit configuration files for systemd services
      B. To start and stop systemd services
      C. To view system and service logs managed by systemd
      D. To display disk usage statistics

      Solution

      1. Step 1: Understand the role of journalctl

        The journalctl command is used to access logs collected by systemd's journal service.
      2. Step 2: Compare options with command purpose

        Editing configuration files, starting/stopping services, and displaying disk usage are handled by other commands, unrelated to viewing logs.
      3. Final Answer:

        To view system and service logs managed by systemd -> Option C
      4. Quick Check:

        journalctl = view logs [OK]
      Hint: Remember: journalctl = journal + control = view logs [OK]
      Common Mistakes:
      • Confusing journalctl with systemctl for service control
      • Thinking journalctl edits files
      • Assuming journalctl shows disk info
      2. Which of the following is the correct syntax to show the last 10 lines of system logs using journalctl?
      easy
      A. journalctl -n 10
      B. journalctl --last 10
      C. journalctl -l 10
      D. journalctl -t 10

      Solution

      1. Step 1: Recall journalctl option for number of lines

        The -n option followed by a number shows that many recent log lines.
      2. Step 2: Check other options for correctness

        The other options are not valid journalctl options for limiting output lines.
      3. Final Answer:

        journalctl -n 10 -> Option A
      4. Quick Check:

        -n = number of lines [OK]
      Hint: Use -n to limit lines shown quickly [OK]
      Common Mistakes:
      • Using --last instead of -n
      • Confusing -l (line wrap) with line count
      • Using -t which filters by syslog identifier
      3. What will be the output of the command journalctl -u sshd.service -n 3?
      medium
      A. Shows the last 3 log entries related to the sshd service
      B. Shows all logs except those from sshd service
      C. Shows the first 3 lines of the system log
      D. Shows logs from all services except sshd

      Solution

      1. Step 1: Understand the -u option

        The -u sshd.service option filters logs to only those from the sshd service.
      2. Step 2: Understand the -n 3 option

        The -n 3 option limits output to the last 3 log entries.
      3. Final Answer:

        Shows the last 3 log entries related to the sshd service -> Option A
      4. Quick Check:

        -u sshd + -n 3 = last 3 sshd logs [OK]
      Hint: -u filters by service, -n limits lines [OK]
      Common Mistakes:
      • Thinking -u excludes the service logs
      • Confusing -n with showing first lines
      • Assuming it shows all logs
      4. You run journalctl -u nginx.service --since "2024-01-01" --until "2024-01-02" but get no output, even though you know nginx was active. What is the likely problem?
      medium
      A. The date format is incorrect; journalctl requires YYYY-MM-DD HH:MM:SS
      B. The service name is wrong; it should be nginx without .service
      C. The journal is empty because logging is disabled
      D. The system clock is set to a different timezone causing no matching logs

      Solution

      1. Step 1: Check date format validity

        The date format "YYYY-MM-DD" is valid for journalctl; it does not require HH:MM:SS.
      2. Step 2: Consider timezone impact

        If the system clock or journal timestamps use a different timezone, the specified range may not match any logs, causing no output.
      3. Step 3: Verify service name and logging

        The service name with .service is correct, and nginx is usually logged to the journal, making incorrect service name or disabled logging unlikely.
      4. Final Answer:

        The system clock is set to a different timezone causing no matching logs -> Option D
      5. Quick Check:

        Timezone mismatch = no logs in range [OK]
      Hint: Check timezone if date filters show no logs [OK]
      Common Mistakes:
      • Assuming date format is wrong
      • Removing .service from unit name
      • Ignoring system clock timezone
      5. You want to monitor live logs from the docker.service as they happen. Which command should you use?
      hard
      A. journalctl -u docker.service --since now
      B. journalctl -u docker.service -f
      C. journalctl -u docker.service -n 0
      D. journalctl -u docker.service --no-pager

      Solution

      1. Step 1: Identify option for live log streaming

        The -f option in journalctl streams new log entries live, similar to tail -f.
      2. Step 2: Evaluate other options

        journalctl -u docker.service --since now shows logs since now but does not follow live updates. journalctl -u docker.service -n 0 shows zero lines, so no output. journalctl -u docker.service --no-pager disables paging but does not stream live.
      3. Final Answer:

        journalctl -u docker.service -f -> Option B
      4. Quick Check:

        -f = follow live logs [OK]
      Hint: Use -f to follow logs live like tail -f [OK]
      Common Mistakes:
      • Using --since now without -f for live updates
      • Using -n 0 which shows no lines
      • Confusing --no-pager with live streaming
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard