[Command-line] tail을 이용한 실시간 로그 모니터링 (+ head)

2020. 12. 29. 23:32Linux/Command-line

반응형
  1. head
  2. tail

1. head

문서 앞부분을 출력합니다.

  • -n [-]N
    • N line만큼 출력합니다.
    • - 기호를 붙일 경우 맨 처음 ~ 맨끝 - N line 만큼 출력합니다.
  • -c [-]N
    • N byte만큼 출력합니다.
    • K, M, G, T 단위 입력 가능합니다. (ex. head -c 10M test.txt)

옵션 설정을 하지 않을 경우 default로 10 line(-n 10)이 출력됩니다.

  • 사용 예시
    • head apple.txt
    • head -n 3 apple.txt
    • head -n -2 apple.txt
    • head -c 10M demo.log
    • find . -name "*.log" | head -n 1

2. tail

문서 뒷부분을 출력합니다.

  • -n [+]N
    • 끝에서부터 N line만큼 출력합니다.
    • + 기호를 붙일 경우 N 번째 line ~ 끝 까지 출력합니다.
  • -c [+]N
    • 끝에서부터 N byte만큼 출력합니다.
    • K, M, G, T 단위 입력 가능합니다.
  • -f
    • 추가되는 내용을 대기하며, 추가된 내용은 append하여 출력합니다.
  • -F
    • -f 옵션의 업그레이드 옵션입니다.
    • 파일 삭제후 다시 생성되었을 때에도 동작되도록 합니다.
    • rotatelogs와 같이 날짜 변동시 기존의 로그파일명을 변경하고 새로운 로그파일을 생성할때 활용하면 좋습니다.

실시간으로 로그를 조회하고자 할 때, tail -F 을 사용하면 위와같이 로그모니터링을 할 수 있습니다.

01

또, tail -F 대기 중, 해당 파일이 삭제되고, 새로 생성되었을 때 아래와 같은 메시지를 출력하고 이어서 내용을 출력합니다.

tail: 'demo.log' has become inaccessible: 그런 파일이나 디렉터리가 없습니다
tail: 'demo.log' has appeared;  following end of new file
02
  • 사용 예
    • tail apple.txt
    • tail -n +3 apple.txt
    • find . -name "localhost_access_log.*" | tail -n 1
    • tail -F catalina.out
728x90
반응형