리눅스 스크립트 학습: 1일차 – 스크립트의 이해
안녕하세요, mj 입니다.
오늘은 리눅스 스크립트를 배우기 위한 첫 번째 날입니다. 이번 포스팅에서는 스크립트의 기본 개념을 이해하고, 첫 번째 스크립트를 작성해보는 과정을 다룰 예정입니다.
이번 스크립트 학습은 총 16주차로 구성되어 있으며, 매 주차별로 5일간의 학습 내용을 아주 상세히 포스팅할 예정입니다. 그 중 오늘은 1주차의 첫 번째 내용인 “스크립트의 이해”에 대해 다루겠습니다.
1. 스크립트의 정의 및 필요성 이해
스크립트란 무엇인가요? 간단히 말해, 스크립트는 명령어의 집합으로, 특정 작업을 자동으로 수행하도록 작성된 프로그램입니다. 스크립트를 사용하는 이유는 다양합니다. 주로 반복적인 작업을 자동화하여 시간을 절약하고, 오류를 줄이는 데 도움을 줍니다. 예를 들어, 시스템 관리자가 서버의 상태를 점검하는 스크립트를 작성하면, 매번 수작업으로 점검하는 것보다 효율적입니다.
스크립트 언어의 종류에는 Bash, Python, Perl 등이 있습니다. 각각의 언어는 특정 용도에 맞게 설계되어 있으므로, 상황에 따라 적절한 언어를 선택하는 것이 중요합니다.
2. 스크립트의 장점 및 활용 사례
스크립트를 사용하면 많은 이점을 얻을 수 있습니다. 첫째, 반복적인 작업을 자동화하여 시간을 절약할 수 있습니다. 둘째, 사람의 실수로 인한 오류를 줄일 수 있습니다. 셋째, 작업을 자동화함으로써 더 복잡한 작업에 집중할 수 있는 여유가 생깁니다.
스크립트는 다양한 분야에서 활용됩니다. 예를 들어, 시스템 관리에서는 서버 모니터링 스크립트를 통해 CPU 사용량이나 메모리 사용량을 주기적으로 체크할 수 있습니다. 데이터 처리 분야에서는 대량의 데이터를 자동으로 정리하는 스크립트를 작성할 수 있으며, 웹 스크래핑을 통해 웹사이트에서 정보를 자동으로 수집하는 데에도 사용됩니다.
3. 첫 번째 스크립트 작성
이제 실제로 간단한 스크립트를 작성해보겠습니다. Bash 스크립트의 기초 문법을 배우면서 “Hello World”라는 메시지를 출력하는 스크립트를 작성할 것입니다.
먼저, 터미널을 열고 vi hello.sh
명령어를 입력하여 새로운 파일을 생성합니다. vi
는 텍스트 편집기 중 하나로, 명령어 모드와 입력 모드가 있습니다.
스크립트 작성하기
vi hello.sh
이제 vi
편집기에서 파일을 열었으므로, 입력 모드로 전환합니다. i
키를 눌러 입력 모드로 들어간 후 다음 내용을 입력합니다:
#!/bin/bash
echo "Hello, World!"
입력을 마친 후, Esc
키를 눌러 명령어 모드로 돌아갑니다. 이후 :wq
를 입력하여 파일을 저장하고 종료합니다.
파일 상태 확인하기
이제 파일의 현재 상태를 확인해 보겠습니다. 다음 명령어를 입력하여 파일 상태를 확인하세요:
ls -l hello.sh
출력 결과는 다음과 비슷할 것입니다:
-rw-r--r-- 1 user group 32 Feb 6 12:00 hello.sh
여기서 -rw-r--r--
는 파일의 권한을 나타냅니다. 현재는 실행 권한이 없습니다.
실행 권한 부여하기
이제 실행 권한을 부여해보겠습니다. 다음 명령어를 입력하세요:
chmod +x hello.sh
권한 변경 후 상태 확인하기
다시 파일의 상태를 확인합니다:
ls -l hello.sh
이제 출력 결과는 다음과 같이 변경됩니다:
-rwxr-xr-x 1 user group 32 Feb 6 12:00 hello.sh
여기서 -rwxr-xr-x
는 실행 권한이 추가된 것을 보여줍니다. 이제 이 스크립트를 실행할 수 있습니다.
스크립트 실행하기
이제 스크립트를 실행해보겠습니다:
./hello.sh
출력 결과
스크립트를 실행하면 다음과 같은 결과가 출력됩니다:
Hello, World!
4. Q&A 및 실습 복습
마지막으로, 오늘 배운 내용을 복습하고 질문을 통해 이해도를 높이는 시간을 가집니다. 스크립트의 정의와 장점, 첫 번째 스크립트 작성 과정에 대해 질문해 보세요. 또한, 작성한 스크립트를 다시 실행해보고, 수정할 부분이 있는지 확인해보는 것도 좋은 방법입니다.
이렇게 1일차의 학습을 마쳤습니다. 다음 날에는 Bash 환경 설정과 기본 명령어에 대해 다룰 예정입니다.