Linux less 명령어: 파일 페이징 처리

LinuxBeginner
지금 연습하기

소개

이 튜토리얼에서는 Linux 의 less 명령어를 사용하여 대용량 로그 파일을 효율적으로 탐색하고 분석하는 방법을 배웁니다. less 명령어는 터미널에서 텍스트 파일을 확인하는 데 매우 강력한 도구로, 사용자가 콘텐츠를 스크롤하고 특정 정보를 검색하며 파일 내용을 페이지 단위로 볼 수 있게 해줍니다.

당신이 일련의 서버 오류를 조사해야 하는 시스템 관리자라고 가정해 봅시다. 시스템 이벤트 정보가 담긴 대용량 로그 파일에 접근할 수 있지만, 파일 크기가 너무 커서 일반적인 텍스트 편집기로는 열기 힘든 상황입니다. 바로 이때 less 명령어가 매우 유용하게 사용됩니다.

이 과정은 단계별 안내를 통해 학습과 실습을 돕는 가이드 랩 (Guided Lab) 입니다. 각 단계를 주의 깊게 따라가며 직접 실습해 보세요. 통계에 따르면 이 랩은 초급 수준이며, 95%의 수료율과 학습자들로부터 100%의 긍정적인 평가를 받고 있습니다.

로그 파일 접근하기

먼저 로그 파일이 있는 디렉토리로 이동하여 파일 내용을 확인해 보겠습니다.

  1. 터미널을 엽니다. 기본적으로 /home/labex/project 디렉토리에 위치해 있어야 합니다.

  2. 디렉토리의 파일 목록을 확인합니다.

ls

server_log.txt라는 이름의 파일이 보일 것입니다.

  1. less 명령어를 사용하여 이 파일의 내용을 보려면 다음과 같이 입력합니다.
less server_log.txt

이 명령어는 less를 통해 server_log.txt 파일을 엽니다. 이제 파일의 내용을 확인할 수 있습니다.

참고: 로그 파일은 동적으로 생성되므로 실제 화면에 보이는 내용은 아래 예시와 다를 수 있습니다.

2023-11-05 08:00:01 INFO: Server startup complete
2023-11-05 08:15:23 WARNING: High CPU usage detected
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...

less 화면에서 나가려면 q 키를 누르세요.

파일 내용 탐색하기

파일을 열었으니 이제 파일 안에서 이동하는 방법을 배워보겠습니다.

  1. less를 사용하여 로그 파일을 다시 엽니다.
less server_log.txt
  1. 다음 키들을 사용하여 탐색해 보세요.
    • Space 또는 Page Down: 다음 페이지로 이동
    • b 또는 Page Up: 이전 페이지로 이동
    • UpDown 화살표 키: 한 줄씩 이동
    • G (Shift + g): 파일의 맨 끝으로 이동
    • g: 파일의 맨 처음으로 이동

이러한 탐색 명령어들을 직접 입력해 보며 파일 안에서 자유롭게 이동하는 법을 익혀보세요.

  1. 탐색을 마쳤다면 q를 눌러 less를 종료합니다.

특정 내용 검색하기

시스템 관리자는 종종 특정 정보를 빠르게 찾아야 합니다. less 명령어는 강력한 검색 기능을 제공합니다.

  1. 로그 파일을 다시 엽니다.
less server_log.txt
  1. "ERROR"라는 단어를 검색하려면 /ERROR를 입력하고 Enter 를 누릅니다. 파일 내에서 "ERROR"가 포함된 모든 부분이 강조 표시됩니다.
  2. n을 누르면 다음 "ERROR" 위치로 이동하고, N을 누르면 이전 위치로 이동합니다.
  3. 이제 특정 날짜를 검색해 보겠습니다. 먼저 g를 눌러 파일의 맨 처음으로 이동한 뒤, 로그 항목에 표시된 날짜들을 확인합니다. 파일에 존재하는 날짜 하나를 선택하세요 (예를 들어 파일에 "2025-01-15"가 보인다면 해당 날짜를 검색합니다). / 뒤에 검색할 날짜를 입력하고 (예: /2025-01-15) Enter 를 누릅니다.
  4. nN을 사용하여 해당 날짜가 나타나는 지점들을 이동하며 확인합니다.
  5. 검색을 마쳤다면 q를 눌러 less를 종료합니다.

행 번호 표시하기

로그를 분석할 때 참조용으로 행 번호를 함께 보면 매우 편리합니다.

  1. 행 번호가 표시되도록 로그 파일을 엽니다.
less -N server_log.txt

-N 옵션은 less가 각 줄 앞에 행 번호를 표시하도록 설정합니다.

  1. 이제 각 줄의 왼쪽에 행 번호가 표시되는 것을 볼 수 있습니다.
     1 2023-11-05 08:00:01 INFO: Server startup complete
     2 2023-11-05 08:15:23 WARNING: High CPU usage detected
     3 2023-11-05 08:30:45 ERROR: Database connection failed
     4 2023-11-05 08:31:02 INFO: Retrying database connection
     5 2023-11-05 08:31:05 INFO: Database connection established
...
  1. 이전과 같이 파일을 탐색해 보세요. 행 번호가 파일 내 현재 위치를 파악하는 데 얼마나 도움이 되는지 확인해 보시기 바랍니다.

  2. 확인이 끝나면 q를 눌러 less를 종료합니다.

특정 패턴부터 시작하기

때로는 파일의 처음이 아니라 특정 지점부터 바로 보고 싶을 때가 있습니다. less 명령어를 사용하면 이를 쉽게 수행할 수 있습니다.

  1. 예를 들어, 데이터베이스 오류가 처음 발생하는 지점부터 파일을 보고 싶다고 가정해 봅시다. 다음 명령어를 사용하세요.
less +/ERROR:.Database server_log.txt

이 명령어는 파일을 연 즉시 "ERROR:" 다음에 임의의 문자가 오고 그 뒤에 "Database"가 이어지는 첫 번째 줄로 바로 이동하도록 less에 지시합니다.

  1. 이제 첫 번째 데이터베이스 오류가 있는 위치에서 파일이 열린 것을 확인할 수 있습니다.
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...
  1. 이 지점부터 이전과 동일하게 파일 탐색을 계속할 수 있습니다.

  2. 작업을 마쳤다면 q를 눌러 less를 종료합니다.

요약

이 튜토리얼에서는 less 명령어를 사용하여 대용량 로그 파일을 효율적으로 탐색하고 분석하는 방법을 배웠습니다. 파일을 열고, 콘텐츠를 스크롤하고, 특정 정보를 검색하고, 행 번호를 표시하며, 특정 패턴이 있는 위치에서 시작하는 방법을 실습했습니다.

이러한 기술은 문제를 해결하거나 시스템 성능을 모니터링하기 위해 대용량 로그 파일을 신속하게 분석해야 하는 시스템 관리자와 개발자에게 필수적입니다.

이 튜토리얼에서 다루지 않았지만 유용한 다른 less 옵션들은 다음과 같습니다.

  • -i: 검색 시 대소문자 무시
  • -F: 파일 내용이 한 화면에 모두 들어오면 즉시 종료
  • -S: 긴 줄을 줄바꿈하지 않고 잘라서 표시
  • +F: 파일의 끝에서 대기하며 새로 추가되는 내용을 실시간으로 표시 (tail -f와 유사)