1. 로그를 실시간으로 확인해야 하는 이유
Linux에서 실행하는 프로그램은 실행 내용이나 에러를 로그 파일에 기록하는 경우가 많다.
예를 들어 Spring Boot 서버를 백그라운드에서 실행하면 nohup.out이나 직접 지정한 로그 파일에 로그가 쌓일 수 있다.
또한 Ubuntu 서버에서는 로그인, sudo, 원격 접속 같은 인증 관련 이벤트가 별도 로그 파일에 기록될 수 있다.
이미 쌓인 로그를 확인할 때는 cat, less, vi 같은 명령어를 사용할 수 있다.
하지만 서버를 운영하다 보면 지금 이 순간 로그가 어떻게 추가되는지 실시간으로 확인해야 할 때가 있다.
이때 사용하는 명령어가 tail -f이다.
2. auth.log 파일 확인하기
Ubuntu에서 인증 관련 로그를 확인할 때 /var/log/auth.log 파일을 볼 수 있다.
Ubuntu Community Help Wiki는 Authorization Log가 사용자 로그인, sudo, sshd 원격 로그인 같은 인증 시스템 사용을 추적하며, /var/log/auth.log에서 접근할 수 있다고 설명한다. [1]
먼저 /var/log 디렉터리로 이동한다.
cd /var/log
파일 목록을 확인한다.
ls
auth.log 파일이 있다면 내용을 확인할 수 있다.
cat auth.log
다만 로그 파일은 양이 많을 수 있다.
cat auth.log는 파일 전체를 한 번에 출력하므로, 로그가 매우 많으면 터미널 출력이 길어져 보기 불편할 수 있다.
그럴 때는 vi로 열어서 페이지 단위로 이동하며 확인할 수 있다.
vi auth.log
vi 안에서는 아래 키로 이동할 수 있다.
| 키 | 의미 |
|---|---|
Ctrl + f |
다음 화면으로 이동 |
Ctrl + b |
이전 화면으로 이동 |
3. tail 기본 동작
tail은 파일의 마지막 부분을 출력할 때 사용하는 명령어이다.
GNU Coreutils 문서는 tail이 각 파일의 마지막 부분을 출력하며, 기본적으로 마지막 10줄을 출력한다고 설명한다. [2]
예를 들어 아래 명령어는 auth.log 파일의 마지막 10줄을 출력한다.
tail auth.log
로그 파일은 보통 오래된 로그가 위에 있고, 새 로그가 아래에 추가된다.
따라서 최근 로그만 빠르게 보고 싶을 때는 cat보다 tail이 더 편하다.
4. tail -f로 실시간 로그 확인하기
로그가 새로 추가되는 모습을 실시간으로 확인하려면 -f 옵션을 사용한다.
tail -f auth.log
GNU Coreutils 문서는 -f 또는 --follow 옵션이 파일 끝에서 더 많은 문자를 계속 읽으려고 반복한다고 설명한다. [2]
즉 파일이 계속 커지는 상황을 따라가며 새로 추가되는 내용을 출력한다.
정리하면 아래와 같다.
| 명령어 | 의미 |
|---|---|
tail auth.log |
auth.log의 마지막 10줄 출력 |
tail -f auth.log |
마지막 10줄 출력 후, 새로 추가되는 로그를 계속 출력 |
tail -f auth.log를 실행한 상태에서 다른 터미널이나 새 브라우저 창으로 Ubuntu 서버에 접속해보면, 접속 관련 로그가 추가되는 모습을 실시간으로 확인할 수 있다.
실시간 확인을 멈추려면 아래 키를 누른다.
Ctrl + c
5. auth.log가 바로 보이지 않을 때
환경에 따라 /var/log/auth.log 파일이 없거나, 현재 사용자 권한으로 읽을 수 없을 수 있다.
먼저 파일이 있는지 확인한다.
ls -l /var/log/auth.log
권한 문제로 읽을 수 없다면 sudo를 붙여 확인할 수 있다.
sudo tail -f /var/log/auth.log
다만 모든 Linux 배포판이 인증 로그를 같은 파일에 저장하는 것은 아니다.
Ubuntu Community Help Wiki는 Authorization Log의 경로로 /var/log/auth.log를 설명하지만, 실제 로그 저장 방식은 배포판과 로깅 설정에 따라 달라질 수 있다. [1]
따라서 실습 환경에서 파일이 없다면 먼저 /var/log 안의 로그 파일 목록을 확인해야 한다.
ls /var/log
6. 애플리케이션 로그에도 사용할 수 있다
tail -f는 auth.log뿐 아니라 직접 만든 로그 파일에도 사용할 수 있다.
예를 들어 Spring Boot 서버 로그를 result.log에 저장하도록 실행했다면 아래처럼 실시간으로 확인할 수 있다.
tail -f result.log
nohup.out에 로그가 쌓이고 있다면 아래처럼 확인한다.
tail -f nohup.out
새 로그가 파일 아래쪽에 계속 추가되는 구조라면 tail -f로 실시간 확인이 가능하다.
7. 실무에서 자주 쓰는 흐름
로그를 확인할 때는 보통 아래 순서로 진행한다.
- 로그 파일이 있는 디렉터리로 이동한다.
ls로 파일 이름을 확인한다.- 기존 로그를 간단히 확인한다.
tail -f로 새 로그가 쌓이는지 실시간으로 확인한다.
예시는 아래와 같다.
cd /var/log
ls
tail auth.log
tail -f auth.log
애플리케이션 로그라면 아래처럼 확인할 수 있다.
ls
tail result.log
tail -f result.log
로그를 실시간으로 보면서 다른 터미널에서 요청을 보내면, 요청 시점에 어떤 로그가 새로 추가되는지 확인하기 쉽다.
정리
tail은 파일의 마지막 부분을 출력하는 명령어이다.
tail auth.log
tail -f는 파일의 마지막 10줄을 출력한 뒤, 파일에 새로 추가되는 내용을 계속 출력한다.
tail -f auth.log
Ubuntu 인증 로그를 실시간으로 보고 싶다면 아래처럼 사용할 수 있다.
sudo tail -f /var/log/auth.log
Spring Boot 같은 애플리케이션 로그도 파일에 쌓이고 있다면 같은 방식으로 확인할 수 있다.
tail -f nohup.out
tail -f result.log
실시간 로그 확인을 멈추려면 Ctrl + c를 누른다.
출처
[1] Ubuntu Community Help Wiki, “LinuxLogFiles”, 확인일: 2026-06-12, https://help.ubuntu.com/community/LinuxLogFiles
[2] GNU Coreutils Manual, “tail invocation”, 확인일: 2026-06-12, https://www.gnu.org/software/coreutils/manual/html_node/tail-invocation.html