소개
이번 챌린지에서는 쉘 명령어의 실행 결과를 캡처하고 처리하는 간단한 쉘 스크립트를 작성하는 방법을 배웁니다. 이는 작업을 자동화하고 명령줄 도구에서 특정 정보를 추출하는 데 필수적인 기술입니다. 명령어 출력을 변수에 담고, 데이터를 가공하며, 처리된 정보를 스크립트 내에서 활용하는 방법을 익히게 됩니다. 이 과정은 시스템 관리자에게 꼭 필요한 실무 스크립팅 능력을 키우는 데 도움이 될 것입니다.
이번 챌린지에서는 쉘 명령어의 실행 결과를 캡처하고 처리하는 간단한 쉘 스크립트를 작성하는 방법을 배웁니다. 이는 작업을 자동화하고 명령줄 도구에서 특정 정보를 추출하는 데 필수적인 기술입니다. 명령어 출력을 변수에 담고, 데이터를 가공하며, 처리된 정보를 스크립트 내에서 활용하는 방법을 익히게 됩니다. 이 과정은 시스템 관리자에게 꼭 필요한 실무 스크립팅 능력을 키우는 데 도움이 될 것입니다.
이 단계에서는 ls -l 명령어의 출력을 캡처하여 특정 정보 (파일 크기 및 파일 이름) 를 추출하고, 이를 정해진 형식에 맞춰 표시하는 쉘 스크립트를 작성합니다. 이 실습을 통해 쉘 스크립팅에서 흔히 발생하는 작업인 명령어 출력 파싱 방법을 익힐 수 있습니다.
ls -l 명령어의 출력을 캡처하는 쉘 스크립트를 작성하세요.ls -l 출력 결과에서 파일 크기와 파일 이름을 추출하세요.스크립트는 ~/project/scripts 디렉토리에 생성해야 합니다.
스크립트 파일 이름은 process_ls.sh로 지정하세요.
스크립트는 반드시 #!/bin/bash 셰뱅 (shebang) 으로 시작해야 합니다.
스크립트는 ls -l 명령어의 출력을 캡처하여 변수에 저장해야 합니다.
ls -l 출력에 나열된 각 파일에 대해 크기와 이름을 추출하세요.
추출된 파일 크기와 이름을 다음 형식으로 표시하세요:
File size: <file_size> bytes
File name: <file_name>
<file_size>는 실제 파일 크기 (바이트 단위) 로, <file_name>은 실제 파일 이름으로 대체되어야 합니다.
파일이 들어 있는 디렉토리가 있다고 가정할 때, 스크립트를 실행하면 다음과 유사한 결과가 출력되어야 합니다:
[labex@host ~]$ cd ~/project/scripts
[labex@host scripts]$ nano process_ls.sh
[labex@host scripts]$ chmod +x process_ls.sh
[labex@host scripts]$ ./process_ls.sh
File size: 1300 bytes
File name: process_ls.sh
[labex@host scripts]$
실제 파일 크기와 이름은 현재 디렉토리의 내용에 따라 달라집니다.
variable=$(command)) 을 사용하여 명령어의 출력을 캡처할 수 있습니다.while read 루프를 사용할 수 있습니다.ls -l 명령어는 상세한 정보를 제공합니다. 각 줄에서 특정 열 (필드) 을 추출하려면 awk나 cut 같은 도구를 사용해야 할 수도 있습니다.ls -l 출력의 첫 번째 줄은 보통 "total"로 시작하며, 개별 파일을 처리할 때는 이 줄을 건너뛰어야 합니다.chmod +x) 이 있는지 확인하세요.이번 챌린지에서는 명령어의 출력을 처리하는 쉘 스크립트를 작성하는 방법을 배웠습니다. 구체적으로 ls -l의 출력을 캡처하고, 파일 크기와 이름을 추출하여 정해진 형식으로 표시해 보았습니다. 이 실습을 통해 명령어 치환, while read 루프, awk를 이용한 텍스트 처리와 같은 핵심적인 쉘 스크립팅 개념을 익혔습니다. 이러한 기술은 RHCSA 시험뿐만 아니라 일상적인 시스템 관리 업무에서 작업을 자동화하고, 로그 파일을 분석하며, 다양한 명령줄 도구에서 특정 데이터를 추출하는 데 매우 중요합니다.