과거 명령 분석

LinuxLinuxBeginner
지금 연습하기

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 챌린지는 데이터 스트림 리디렉션을 연습하면서 Linux 시스템의 명령 사용 기록을 분석하는 데 중점을 둡니다. 이 작업을 완료함으로써 텍스트 처리 기술을 향상시키고, 일반적인 Linux 명령에 익숙해지며, Linux 환경에서 입/출력 조작에 대한 이해를 높일 수 있습니다.

이것은 챌린지입니다. 실험 (Lab) 과 달리, 학습을 위해 실험의 단계를 따르는 것이 아니라, 독립적으로 챌린지 작업을 완료해야 합니다.챌린지는 일반적으로 조금 어렵습니다. 어려움을 겪었다면, Labby 와 논의하거나 해결책을 확인할 수 있습니다. 과거 데이터에 따르면, 이것은 초급 레벨의 챌린지이며 통과율은 95.43%입니다.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) shell(("Shell")) -.-> shell/AdvancedScriptingConceptsGroup(["Advanced Scripting Concepts"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) shell/BasicSyntaxandStructureGroup -.-> shell/quoting("Quoting Mechanisms") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/awk("Text Processing") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/TextProcessingGroup -.-> linux/uniq("Duplicate Filtering") shell/AdvancedScriptingConceptsGroup -.-> shell/adv_redirection("Advanced Redirection") linux/InputandOutputRedirectionGroup -.-> linux/pipeline("Data Piping") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") subgraph Lab Skills shell/quoting -.-> lab-17988{{"과거 명령 분석"}} linux/cat -.-> lab-17988{{"과거 명령 분석"}} linux/awk -.-> lab-17988{{"과거 명령 분석"}} linux/sort -.-> lab-17988{{"과거 명령 분석"}} linux/uniq -.-> lab-17988{{"과거 명령 분석"}} shell/adv_redirection -.-> lab-17988{{"과거 명령 분석"}} linux/pipeline -.-> lab-17988{{"과거 명령 분석"}} linux/redirect -.-> lab-17988{{"과거 명령 분석"}} end

스트림 리디렉션을 사용하여 기록된 명령 분석

요구 사항

귀하의 작업은 명령 사용 기록이 포함된 파일을 분석하는 것입니다. 파일에서 가장 많이 사용된 상위 세 개의 명령을 식별하고 결과를 /home/labex/project/result에 저장해야 합니다. 이 작업은 스트림 리디렉션 기술을 사용하여 수행해야 합니다.

작업

  1. awk, sort, uniq, head 명령을 스트림 리디렉션과 함께 사용하여 /home/labex/project/에 있는 data1 파일을 처리합니다.
  2. 가장 많이 사용된 상위 세 개의 명령을 /home/labex/project/result로 리디렉션합니다.
  3. 결과를 "count command" (예: "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

가장 많이 사용된 상위 세 개의 명령만 결과 파일에 포함되어야 합니다.

힌트

awk를 사용하여 파일 내용에서 명령을 추출해야 할 수 있습니다. 다음은 유용한 awk 예시입니다.

  • awk '{print $2}': 각 줄의 두 번째 필드를 출력합니다.
  • awk '{print $1, $2}': 각 줄의 첫 번째 및 두 번째 필드를 출력합니다.
✨ 솔루션 확인 및 연습

요약

이 챌린지에서는 Linux 스트림 리디렉션 기술을 적용하면서 명령 사용 기록을 분석하는 연습을 했습니다. 이 연습을 통해 텍스트 처리 능력, 일반적인 Linux 명령에 대한 친숙도, 그리고 입/출력 조작에 대한 이해도를 향상시켰습니다. 이러한 기술은 Linux 환경에서 작업하는 시스템 관리자 및 파워 유저에게 유용합니다.

OSZAR »