명령어 실행 기록 분석

LinuxBeginner
지금 연습하기

소개

이번 챌린지는 데이터 스트림 재지정 (Redirection) 기술을 활용하여 리눅스 시스템의 명령어 사용 기록을 분석하는 데 중점을 둡니다. 이 과제를 완수함으로써 텍스트 처리 능력을 향상시키고, 주요 리눅스 명령어에 익숙해지며, 리눅스 환경에서의 입출력 제어 방식을 깊이 있게 이해할 수 있습니다.

스트림 재지정을 활용한 명령어 기록 분석

요구 사항

명령어 사용 기록이 담긴 파일을 분석하는 것이 이번 과제의 핵심입니다. 파일 내에서 가장 빈번하게 사용된 상위 3 개의 명령어를 찾아내어 그 결과를 /home/labex/project/result 파일에 저장해야 합니다. 모든 작업은 스트림 재지정 기술을 사용하여 수행해야 합니다.

수행 과제

  1. /home/labex/project/ 디렉토리에 있는 data1 파일을 awk, sort, uniq, head 명령어와 스트림 재지정을 조합하여 처리하세요.
  2. 가장 많이 사용된 상위 3 개의 명령어 정보를 /home/labex/project/result 파일로 재지정하여 저장하세요.
  3. 결과 형식은 "횟수 명령어" 형태 (예: "100 ls") 로 빈도수와 명령어가 모두 포함되어야 합니다.

예시

data1 파일의 샘플 내용:

895  echo $?
896  openstack compute service list
897  cd /home/chy/openstack/
898  . admin-openrc

/home/labex/project/result 파일에 저장될 출력 형식 예시:

150 openstack
114 systemctl
105 ls

결과 파일에는 사용 빈도가 가장 높은 상위 3 개의 명령어만 포함되어야 합니다.

힌트

파일 내용에서 명령어 부분만 추출하기 위해 awk를 사용할 수 있습니다. 다음은 유용한 awk 사용 예시입니다:

  • awk '{print $2}': 각 줄의 두 번째 필드를 출력합니다.
  • awk '{print $1, $2}': 각 줄의 첫 번째와 두 번째 필드를 출력합니다.

요약

이번 챌린지를 통해 리눅스 스트림 재지정 기술을 적용하여 명령어 사용 기록을 분석하는 실무적인 연습을 마쳤습니다. 이 과정에서 텍스트 처리 능력을 키우고, 필수 리눅스 명령어들에 익숙해졌으며, 입출력 제어의 원리를 파악할 수 있었습니다. 이러한 기술은 리눅스 환경에서 작업하는 시스템 관리자와 고급 사용자에게 매우 가치 있는 역량입니다.

✨ 솔루션 확인 및 연습