쉘 스크립트 기초: ls, cd, mkdir 3개로 자동화 입문하기
📋 목차
개발자나 서버 관리자 하면 어떤 모습이 떠오르시나요? 아마 많은 분이 검은색 화면(터미널)에 알 수 없는 글자들을 빠르게 입력하는 모습을 상상하실 거예요. 그 '검은 화면'에서 사용하는 언어가 바로 '쉘(Shell)'이고, 그 작업을 자동화하는 것이 '쉘 스크립트(Shell Script)'입니다.
"저는 개발자가 아닌데요?"라고 생각하실 수도 있지만, 리눅스 서버를 조금이라도 다루거나, 단순 반복 작업을 자동화하고 싶다면 쉘 스크립트는 정말 강력한 무기가 됩니다. 오늘 그 첫걸음으로, 윈도우의 '탐색기' 역할을 하는 3가지 핵심 명령어를 알아보겠습니다. 😊
쉘 스크립트(Shell Script), 도대체 왜 배울까요? 💡
쉘 스크립트는 셰프의 '레시피 북'과 같습니다. 셰프가 "1. 재료 손질, 2. 소스 만들기, 3. 굽기..."처럼 순서를 정해두면, 누가 와서 그 레시피를 봐도 똑같은 요리를 만들 수 있죠.
마찬가지로, 매일 아침 100개의 백업 폴더를 만들고 파일을 복사하는 지루한 작업을 '스크립트'라는 레시피 파일로 딱 한 번만 만들어두면, 다음부턴 그 파일 실행 버튼(명령어) 한 번만 누르면 컴퓨터가 알아서 다 해줍니다. 바로 '자동화' 때문이죠!
기본 1: ls (list) - "뭐가 있는지 보여줘" 📂
ls는 'List'의 약자입니다. 윈도우에서 폴더를 더블 클릭해서 안에 뭐가 있는지 확인하는 것과 같습니다. 현재 내가 위치한 폴더(디렉터리) 안의 파일과 폴더 목록을 보여줍니다.
📝 기본 사용법
$ ls
Documents Downloads Music Pictures Desktop
명령어 뒤에
-를 붙여 옵션을 줍니다.
ls -l: 파일/폴더의 권한, 소유자, 용량, 날짜 등 자세한(Long) 정보 보기ls -a: 숨겨진 파일(이름이.으로 시작)까지 전부(All) 보기ls -al또는ls -la: 두 옵션을 합친 것 (가장 많이 사용!)
기본 2: cd (change directory) - "저 방으로 갈래" 🏃♂️
cd는 'Change Directory'의 약자입니다. 마우스로 다른 폴더를 더블 클릭해서 '들어가는' 것과 같습니다. 쉘 스크립트에서 작업 위치를 옮길 때 필수입니다.
cd [폴더이름]: '폴더이름'으로 이동합니다. (예:cd Documents)cd ..: (점 두 개) 현재 폴더의 상위 폴더로 한 단계 나갑니다.cd ~또는cd만 입력 : 나의 홈(home) 디렉터리로 한 번에 이동합니다.cd /: 시스템의 가장 최상위, 즉 '뿌리(root)' 디렉터리로 이동합니다.
쉘 스크립트 안에서
cd 명령을 사용하면, 그 스크립트가 실행되는 동안에만 위치가 변경됩니다. 스크립트가 종료되면 원래 있던 위치로 돌아옵니다!
기본 3: mkdir (make directory) - "새 방 하나 만들자" 📦
mkdir는 'Make Directory'의 약자입니다. 윈도우에서 마우스 오른쪽 버튼을 눌러 [새 폴더]를 만드는 것과 정확히 같습니다. 쉘 스크립트로 파일을 정리할 폴더를 만들 때 아주 유용합니다.
📝 기본 사용법
$ mkdir my_project
(아무 메시지 없이 'my_project' 폴더가 생성됩니다)
💡 유용한 옵션: -p (parents)
$ mkdir -p project/src/utils
('project' 폴더, 그 안의 'src' 폴더, 그 안의 'utils' 폴더까지, 없는 폴더를 전부 한 번에 만들어줍니다!)
실전! 3가지 명령어를 '스크립트'로 만들기 📝
이제 이 명령어들을 섞어서 '레시피 북', 즉 쉘 스크립트 파일(.sh)을 만들어 보겠습니다. "오늘 날짜로 백업 폴더를 만들고, 그 안으로 이동한 뒤, 내용을 확인하는" 간단한 자동화 스크립트입니다.
backup.sh 파일 내용
#!/bin/bash
# (1) 오늘 날짜로 변수(이름표) 만들기 (예: 2025-11-16) TODAY=$(date +"%Y-%m-%d") BACKUP_DIR="backup_$TODAY"
# (2) 오늘 날짜 폴더 만들기 (mkdir) echo "$BACKUP_DIR 폴더를 생성합니다..." mkdir -p $BACKUP_DIR
# (3) 만든 폴더로 이동하기 (cd) cd $BACKUP_DIR
# (4) 현재 위치 내용 확인하기 (ls) echo "현재 위치의 파일 목록입니다:" ls -al
echo "백업 스크립트 완료!"
이 파일을 backup.sh로 저장한 뒤, 터미널에서 아래 두 줄을 차례로 입력하면 스크립트가 실행됩니다.
$ chmod +x backup.sh
$ ./backup.sh
마무리: 자동화의 첫걸음 📝
ls, cd, mkdir는 쉘 스크립트의 가장 기본적인 '움직임'입니다. 이 3가지만 자유자재로 쓸 수 있어도 리눅스 환경이 훨씬 편해집니다.
여기에 오늘 맛보기로 보여드린 '변수'와 '반복문' 등을 더하면, 정말 복잡한 작업도 레시피 하나로 뚝딱 처리하는 '자동화 셰프'가 될 수 있습니다. 겁내지 마시고 지금 바로 터미널을 열어 ls부터 쳐보세요! 궁금한 점은 댓글로 남겨주세요~ 😊
쉘 스크립트 핵심 3+1 요약
ls (List): 폴더 안의 내용물을 봅니다. (-al 옵션은 필수!)
cd (Change Directory): 다른 폴더로 이동합니다. (cd .. : 위로, cd ~ : 집으로)
mkdir (Make Directory): 새로운 폴더를 만듭니다. (-p 옵션은 꿀팁!)
자주 묻는 질문 ❓
#!/bin/bash는 무슨 뜻인가요?chmod +x는 왜 하는 건가요?chmod +x [파일이름] 명령어는 "이 파일에 실행(eXecutable) 권한을 추가(Add)해 줘"라는 뜻입니다. 스크립트 파일을 만든 후 '실행 파일'로 만들어주기 위해 딱 한 번만 해주면 됩니다.pwd (Print Working Directory) 명령어를 쳐보세요! 현재 내가 작업 중인 폴더의 전체 경로를 알려줍니다. cd로 이동하다가 길을 잃었을 때 아주 유용합니다." ")로 묶어줘야 합니다. (예: cd "My Documents") 초보자라면 헷갈리지 않게 폴더나 파일 이름을 만들 때 띄어쓰기 대신 언더바(_)나 하이픈(-)을 쓰는 것이 좋습니다.

댓글
댓글 쓰기