로그보는법 [ 실시간 로그보기 ] - 리눅스 tail 명령어 사용법
리눅스에서 tail 명령어는
일반적으로 로그와 같이 시간에 따라 변하는 파일들을
그랩 grep과 같은 명령어로 조합해서 실시간으로 업데이트 되는
로그를 분석하는데 사용됩니다.
tail 명령어
tail 명령어는
파일의 마지막 행을 기준으로
지정한 행 까지의 파일 내용 일부를 출력해주는 명령어 입니다.
기본값으로는 마지막 10줄을 출력하여
주로 tail 은 리눅스에서 오류나 파일로그를 실시간으로 확인할때 매우 유용하게 사용 !!
사용법 !!
# 파일 마지막 부분을 출력하는 명령어
tail 옵션 파일명 --> 이렇게 순서인데
tail filename.txt
tail -f filename.txt
tail명령어를 사용하면 해당하는 파일의 마지막 부분을 확인할수 있다 !!!
위와같이쓰면 filename.txt 라는 파일의 마지막 10줄을 확인할수 있겠네 !!!
자주 사용하는 옵션 !?!
-f
: tail 을 종료하지 않고 파일의 업데이트 내용을 실시간으로 출력
-n
: 파일의 마지막 줄부터 지정한 라인수까지 내용출력 !! [라인 수]
-c
: 바이트 수 : 파일의 마지막 부터 지정한 바이트 만큼의 내용을 출력한다. [바이트 수]
-q
: 파일의 헤더와 상단의 파일이름을 출력하지 않고 내용만 출력 !!
-v
: 출력하기 전에 파일의 헤더와 이름먼저 출력한 후 파일의 내용을 출력한다.
실시간 로그보기 !!
tail -f mylog.log | grep 192.168.15.86
파이프를 사용해서 다른 명령어를 조합해서 사용하실수도 있습니다.
대부분 개발자들이 실시간 로그 체크를 할때는
tail 과 grep 명령어 조합으로 로그파일에서 자신이 원하는 키워드만 추출하고는 한다 !!
위의 명령어 대로 사용하면
mylog 파일을 실시간으로 액세스 하고 IP주소가 192.168.42.12 인 행만 추출하겠네 !!
여러파일 동시에 표시하기 !!
tail mylog1.log mylog2.log
tail 명령어의 파일이 여러개를 저렇게 입력하면 각 파일의 마지막 부분을 확인할수 있다 !!!!
f: 파일의 마지막 10 라인을 실시간으로 계속출력
F: 파일 변동시 실시간으로 보여주되 로그파일처럼 특정시간이 지난 후 파일이 변하게 되면
새로운 파일을 오픈하여 보여줌 ( 다시 명령을 실행할 필요가 없음 )
n: n만큼의 라인을 출력
n+n : 마지막 줄이 아니라 첫번째 줄부터 시작해 n번째 라인 이후부터 출력
--byte=n : n바이트 만큼의 내용을 출력
여기서 n은 숫자이다 !
[예제]
tail -n 20 kkamagui-ks.cfg
kkamagui-ks.cfg 파일의
마지막부터 20줄까지를 출력한다.
tail -n +20 kkamagui-ks.cfg
kkamagui-ks.cfg 파일의
20줄 이후를 출력한다.
tail -f /var/log/messages
/var/log/messages 파일을 실시간으로 화면에 출력한다 !
( log 모니터링에 사용된다 )