실무에서 사용하는 로그 검색 방법을 정리하였다.
최신 로그 파일 찾기 (ll -ltr)
로그 파일 경로에 가서 최신 날짜의 로그 파일을 찾을 때 사용한다.
참고로, ls -l의 축약형이 ll이다. -l 옵션으로 파일의 권한, 소유자, 갱신일까지 알 수 있다.
로그에 특정 키워드 있는 지 확인(cat grep)
파일을 열기 전에 로그 파일에 찾고자 하는 문자열이 있는 지 확인할 수 있다.
cat 파일명 | grep -i "찾고자하는 문자열"
문자열이 있으면, 문자열이 있는 부분들만 보여준다.
로그 확인(less)
more를 사용해도 되는데, more는 less와 달리 아래와 같은 차이가 있어서, 나는 주로 less를 사용한다.
more의 단점
- 역방향 스크롤 불가능
- more는 텍스트 파일을 한 페이지씩 보여주는 방식이기 때문에 역방향으로 스크롤할 수 없습니다. 파일의 처음에서부터 끝까지 스크롤하거나 특정 부분을 검색하기 위해서는 다시 파일을 처음부터 읽어야 합니다.
- 검색 기능 부족
- more는 텍스트 파일에서 특정 문자열을 검색하는 기능을 제공하지 않습니다. 따라서 특정 내용을 찾고 싶을 때는 전체 파일을 처음부터 읽어야 하며, 대상 문자열이 어디에 있는지 확인하기 어렵습니다.
- 추가 기능 부족
- more는 기본적인 페이지 단위 스크롤 기능 외에는 다른 추가 기능을 제공하지 않습니다. 따라서 파일 내에서 특정 위치로 이동하거나 특정 라인 번호를 보여주는 등의 기능은 사용할 수 없습니다.
- 상호작용성 부족
- more는 사용자와의 상호작용이 제한적입니다. 사용자는 엔터 키를 눌러서 페이지를 이동할 수 있지만, 스크롤 방식이 아니기 때문에 파일을 자유롭게 탐색하기 어렵습니다.
아래 명령어로 로그 파일을 열어 볼 수 있다.
less 파일명
- ↑↓ : 위/아래 스크롤
- /검색어: 검색어를 찾기 위해 앞으로 검색. /를 누른 후 키워드를 입력하면 키워드에 맞는 곳으로 이동한다.
- n: 다음 키워드 검색 결과
- shift + n: 이전 키워드 검색 결과
- ?검색어: 검색어를 찾기 위해 뒤로 검색
- g: 파일의 처음으로 이동
- G: 파일의 마지막으로 이동
- h: 도움말 보기
- q: 종료
실시간 모니터링(tail -f)
tail 명령어는 로그 파일의 마지막 10줄을 보여준다. -f 옵션을 사용하면 로그 파일의 업데이트 내용을 실시간으로 계속 출력한다.
tail -f 파일명
실시간으로 로그를 모니터링하려면 vi, less 대신 tail을 사용하는 것이 좋다. 왜냐하면 vi와 less는 읽기 전용으로 열기 때문에 application이 로그를 해당 파일에 기록하는 것이 제한된다.
tail 명령어에서 특정 키워드를 검색하고 싶으면 grep을 같이 사용하면 된다.
tail -f 파일명 | grep "키워드"
ctrl + C 로 나갈 수 있다.
참고 자료
https://lee-mandu.tistory.com/572
https://blog.naver.com/diceworld/220185823097
https://coding-factory.tistory.com/801
'기타 > 리눅스' 카테고리의 다른 글
리눅스 서버에서 수동으로 Tomcat 재부팅하기 (0) | 2023.08.23 |
---|---|
리눅스 서버에서 파일 업로드/다운로드(scp) (0) | 2023.08.11 |
리눅스 서버에서 Spring 프로젝트의 로그 파일 찾기 (0) | 2023.08.09 |
Bash 기본 문법 정리된 사이트 (0) | 2022.02.08 |