본문 바로가기

목록이 없습니다.

[Ubuntu] tail 명령어 정리

Server/Ubuntu

    tail 명령어는 보통 서버에서 실시간으로 쌓이는 로그를 확인할 때 자주 사용하는데요. 이 포스팅에서 tail 명령어에 대해서 정리하고 옵션도 함께 정리해놓으려고 합니다.

     

    tail

    우선 tail이라는 영어단어는 '꼬리'라는 의미로 많이 사용되는데요. 명령어의 기능도 가만히 보면 어떤 파일의 '꼬리'를 출력해준다 라고 생각하면 명령어에 대한 이해가 쉬울 것 같아요. 실제로 tail 명령어는 문서파일 또는 데이터 파일의 마지막 몇 줄을 볼 때 사용하는 유닉스 계열 시스템의 프로그램이에요.

     

    기본 사용법

    tail 명령어의 기본 사용법은 아래와 같이 사용되요.

    $ tail [옵션] <파일이름>

    기본 동작은 전달된 파일 또는 데이터의 마지막 10줄을 표준출력(stdout)으로 출력하도록 기본 셋팅이 되어있어요.

     

    저는 위에서 말했듯이 실시간 로그를 볼 때 자주 사용한다 했는데요. -f 옵션을 함께 사용해서 파일을 감시하는 역할로도 사용할 수 있어요.

     

    $ tail -f /tomcat/catalina.log

    이 옵션은 tail의 명령어를 통해 마지막 몇 줄을 출력하고 끝이 아니라 새로운 데이터가 들어오거나 새 줄이 추가되면 표준출력을 통해서 함께 출력해줘요. 즉, 실시간으로 업데이트된 내용을 출력하는것이죠. 위키에도 나와있듯이 로그 파일(입출력 정보파일)들을 감시할 때 유용해요. foreground 작업으로 유지되기 때문에 로그를 그만 보고싶다면 Ctrl+C를 통해 종료할 수 있어요.

     

    참고로 어떤 것을 명령 구문을 정기적으로 실행해서 그 결과가 변하는지 확인하고 싶을 경우 watch 명령어를 사용하면 되요. tail -f 옵션은 실시간 감시라면 watch 명령어는 정기적 감시라 할 수 있어요.

     

    tail 명령어 옵션

    tail 명령어는 비교적 옵션이 적은편이에요.

    -c숫자 끝에서부터 지정된 수만큼의 바이트에 해당하는 정보를 보여줌.
    -f 파일의 크기가 바뀔 때마다 추가된 정보를 출력.
    -F 위 -f 옵션의 경우 파일 크기가 변하여 5MB 정도 되면 확장자에 숫자를 붙여 백업 파일을 생성하고, 다시 본 파일은 0byte부터 저장됨. 따라서 tail -f 옵션으로 실행 중인 명령이 멈춰버림. 다시 실시간 감시를 위해서는 명령어를 재실행 시켜주어야 하는 번거로움이 있음. 이런 경우 -F 옵션을 사용하면 재실행하지 않아도됨. -f 옵션과 마찬가지로 Ctrl+C로 빠져나올 수 있음.
    -n숫자 끝에서부터 지정된 수만큼의 줄을 보여줌. (기본 10줄)
    -q 출력 결과에서 맨 윗줄에 입력 파일 이름이 표시되는데 이를 표시하지 않게 설정함. (기본적으로 Ubuntu에서는 표시하지 않음. 시스템에 따라 다르겠지만 대부분 표시하지 않을 것 같음.)
    -v -q 옵션과 반대로 출력 결과 맨 윗줄에 파일 이름을 항상 표시함. (고정은 아니고 처음 명령어 실행 시 맨 위에 출력됨. 위로 텍스트가 밀리면 보이지 않음)
    --help 도움말
    --version 버전정보

     

     

    고맙습니다.

     

     

    참고

    위키