journalctl
show all messages
journalctl
show all messages from boot
journalctl -b
show messages with explanations
journalctl -x
show kernel ring buffer
journalctl -k
show messages of limitted time span
journalctl --since "2020-06-11"
journalctl --since "20 min ago"
journalctl --since "2020-06-11 00:00:00" --untill "2020-06-11 23:59:59"
show specific messages by unit, executable or process
journalctl -u networking
journalctl /usr/bin/sudo
journalctl _PID=1
show specific messages by priority or syslog facility
journalctl -p 5
journalctl -p 0..5
journalctl SYSLOG_FACILITY=10
follow new messages
journalctl -f
don't pipe output to a pager
journalctl --no-pager
Basically journal messages exist under /run/log/journal/ which is volatile directory. Below commands move journal messages directory to directory under /var/log/journal/.
echo "Storage=persistent" | sudo tee -a /etc/systemd/journald.conf
systemctl force-reload systemd-journald
You can specify directory in which journal messages saved. It would be convinient, for example, when you read other system's journal messages which is mounted on any mount point.
journalctl -D /mnt/var/log/journal -x