Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회

journalctl은 systemd 저널에 저장된 시스템·서비스 로그를 검색하고 읽습니다. 특정 유닛의 최근 오류나 현재 부팅의 메시지에 범위를 좁힐 수 있습니다.

journalctl 명령어란?

인수 없이 실행하면 접근 가능한 저널 항목을 시간 순으로 보여 줍니다. -u는 서비스 유닛, -b는 부팅 회차, -p는 우선순위에 따라 필터링합니다. 일반 사용자는 권한에 따라 일부 시스템 로그만 볼 수 있습니다.

기본 문법

journalctl [옵션] [필터]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man journalctl으로 현재 시스템의 설명을 확인하세요.

사용 예제

현재 부팅의 오류 보기

현재 부팅에서 오류 수준 이상의 메시지를 살펴봅니다.

journalctl -b -p err

서비스 로그 보기

서비스 이름을 실제 유닛 이름으로 바꾸고 최근 100줄을 읽습니다.

journalctl -u sshd.service -n 100

서비스 로그 따라가기

새 로그가 출력될 때마다 표시합니다. Ctrl+C로 종료합니다.

journalctl -u sshd.service -f

서비스 로그 한 줄 읽기

journalctl은 systemd journal에 수집된 로그를 조건별로 검색합니다. 다음은 특정 서비스의 최근 세 항목을 페이지 없이 보여줍니다.

journalctl -u sshd.service -n 3 --no-pager

예시 출력의 형태(시간·호스트·메시지는 시스템마다 다름):

Sep 28 09:00:00 web01 sshd[1234]: Server listening on 0.0.0.0 port 22.

-u는 유닛으로 범위를 좁히고 -n은 항목 수를 제한합니다. 권한 때문에 다른 사용자의 로그가 보이지 않을 수 있습니다. 이전 부팅을 조사할 때는 -b -1을 쓰되, journal이 영구 저장되지 않는 시스템에서는 이전 부팅 로그가 없을 수 있습니다.

시각 범위를 좁히려면 --since '2026-09-28 09:00' 또는 --until을 사용합니다. 시스템 시간대와 로그가 기록된 시각의 차이를 고려하고, 문제 발생 직전·직후를 함께 봐야 원인과 후속 오류를 구별할 수 있습니다. 로그에 토큰이나 사용자 정보가 있을 수 있으므로 공유 전에는 민감한 값을 가리세요.

주요 옵션과 형식

옵션·형식 설명
-u 유닛 지정한 유닛의 로그로 제한합니다.
-b 현재 부팅의 로그를 선택합니다.
-n N 최근 N개 항목만 표시합니다.
-f 새 로그를 계속 출력합니다.
-p 수준 지정한 중요도 이상의 메시지를 선택합니다.
--since 시간 지정한 시각 이후의 로그를 선택합니다.

사용할 때 주의할 점

로그에는 사용자 정보·경로·토큰 등 민감한 내용이 들어갈 수 있으므로 공유 전에 확인하세요. 이전 부팅 로그는 영구 저널 저장 설정이 없으면 남아 있지 않을 수 있습니다. --vacuum-*는 저장된 로그를 제거하므로 단순 조회 중에는 사용하지 마세요.

자주 묻는 질문

이전 부팅 로그가 보이지 않는 이유는?

저널이 영구 저장되지 않거나 이미 회전·삭제됐을 수 있습니다. journalctl --list-boots로 보존된 부팅 회차부터 확인하세요.

공식 문서

옵션의 정확한 동작과 구현별 차이는 journalctl 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux 강좌 / 파일 종류와 정보 확인하기 - ls, file, stat, readlink

Linux 강좌 / 파일 종류와 정보 확인하기 - ls, file, stat, readlink

파일 이름과 실제 형식의 차이를 이해하고 ls, file, stat, readlink로 파일 종류와 크기·권한·시각·링크 정보를 확인합니다.

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기

Linux zip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux rpm 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / host - 도메인과 IP 주소의 DNS 정보 간단히 조회

Linux / 명령어 / host - 도메인과 IP 주소의 DNS 정보 간단히 조회

Linux host 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux truncate 명령어로 파일 크기를 지정하거나 늘리고 줄이는 방법을 설명합니다. 희소 파일, 상대 크기 조정, 기준 파일과 같은 크기로 맞추는 방법 및 데이터 손실 주의점을 알아봅니다.

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux csplit 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux which 명령어로 PATH에서 실행 파일 경로를 찾는 방법을 설명합니다. type과 command -v의 차이, 별칭·함수 확인과 스크립트 이식성도 정리합니다.

Linux / 명령어 / info - GNU 문서 확인

Linux / 명령어 / info - GNU 문서 확인

info 명령어로 GNU 설명서를 탐색하는 방법을 설명합니다. 노드와 메뉴 이동, 본문·색인 검색, 특정 문서 위치 지정, 텍스트 출력과 문서가 없을 때의 해결 방법을 정리합니다.

Linux / 명령어 / lsmod - 로드된 커널 모듈 확인

Linux / 명령어 / lsmod - 로드된 커널 모듈 확인

Linux lsmod 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / alias - 명령어 별칭 만들기

Linux / 명령어 / alias - 명령어 별칭 만들기

Bash alias 명령어로 자주 쓰는 명령과 옵션 조합에 짧은 별칭을 만드는 방법을 설명합니다. 별칭 저장, 우회, 함수와의 차이 및 확장되지 않는 경우도 정리합니다.