개발
Day 67 - Bash Shell
·5분 읽기
이 글은 2026년 06월 26일 작성된 글입니다.
Bash Shell은 리눅스와 macOS에서 사용하는 기본 명령어 인터프리터이다. 백엔드 개발에서는 서버 접속, 파일 관리, Git 사용 등 대부분의 작업을 터미널에서 수행하기 때문에 Bash 명령어를 익혀두는 것이 중요하다.
1. Bash Shell이란?
Bash(Bourne Again SHell)는 사용자가 입력한 명령어를 운영체제가 이해할 수 있도록 전달하는 명령어 인터프리터(Shell)이다.
터미널을 통해 파일 관리, 프로그램 실행, 서버 관리 등 다양한 작업을 수행할 수 있다.
핵심
- 운영체제와 사용자를 연결하는 CLI(Command Line Interface) 환경이다.
- 리눅스와 macOS에서 기본적으로 사용되는 Shell이다.
- 백엔드 개발과 서버 운영에서 가장 많이 사용하는 도구이다.
pwd
ls
cd2. 파일 및 디렉토리 조회
현재 위치를 확인하거나 파일 및 디렉토리 목록을 조회할 때 사용하는 명령어이다.
| 명령어 | 설명 |
|---|---|
pwd | 현재 위치 출력 |
ls | 파일 목록 조회 |
ls -l | 상세 정보 조회 |
ls -al | 숨김 파일 포함 조회 |
clear | 화면 지우기 |
핵심
pwd는 현재 작업 중인 디렉토리를 확인한다.ls -al은 숨김 파일까지 모두 출력한다.
pwd
ls
ls -al
clear3. 디렉토리 이동
디렉토리를 이동할 때 사용하는 명령어이다.
핵심
cd ~는 홈 디렉토리로 이동한다.cd ..는 상위 디렉토리로 이동한다.- 절대경로와 상대경로를 모두 사용할 수 있다.
cd ~
cd ..
cd project
cd /Users/minhyuk/project절대경로와 상대경로
| 구분 | 설명 |
|---|---|
| 절대경로 | 루트(/)부터 시작하는 경로 |
| 상대경로 | 현재 위치를 기준으로 하는 경로 |
4. 파일 및 디렉토리 생성
파일과 디렉토리를 생성할 때 사용하는 명령어이다.
핵심
touch는 빈 파일을 생성한다.mkdir는 디렉토리를 생성한다.mkdir -p는 중간 경로까지 한 번에 생성한다.
touch test.txt
mkdir project
mkdir -p a/b/c5. 파일 및 디렉토리 삭제
파일과 디렉토리를 삭제할 때 사용하는 명령어이다.
핵심
rm은 파일을 삭제한다.rmdir은 비어있는 디렉토리만 삭제할 수 있다.rm -rf는 디렉토리를 강제로 삭제한다.
rm test.txt
rmdir project
rm -rf project삭제 명령어 비교
| 명령어 | 설명 |
|---|---|
rm | 파일 삭제 |
rmdir | 빈 디렉토리 삭제 |
rm -rf | 디렉토리 및 내부 파일까지 강제 삭제 |
6. echo와 리다이렉션
echo는 문자열을 출력하거나 파일에 저장할 때 사용한다.
핵심
>는 기존 내용을 덮어쓴다.>>는 기존 내용 뒤에 이어서 작성한다.
echo "Hello"
echo "Hello" > test.txt
echo "World" >> test.txt리다이렉션
| 기호 | 설명 |
|---|---|
> | 덮어쓰기 |
>> | 이어쓰기 |
7. cat 명령어
파일의 내용을 출력할 때 사용하는 명령어이다.
핵심
- 파일 내용을 빠르게 확인할 수 있다.
- 텍스트 파일 확인 시 가장 많이 사용하는 명령어이다.
cat test.txt8. VIM 편집기
VIM은 터미널 환경에서 사용하는 대표적인 텍스트 편집기이다.
핵심
- 입력 모드와 명령 모드를 구분하여 사용한다.
- 저장과 종료 명령을 익혀두면 대부분의 작업이 가능하다.
a 입력 모드
ESC 명령 모드
:wq 저장 후 종료
:q! 저장하지 않고 종료9. Pipe와 fgrep
Pipe(|)는 앞 명령어의 실행 결과를 다음 명령어의 입력으로 전달한다.
fgrep은 특정 문자열이 포함된 결과만 필터링할 때 사용한다.
핵심
- 여러 명령어를 연결하여 사용할 수 있다.
- 원하는 결과만 추출할 수 있다.
history | fgrep mkdir
ps -aux | fgrep sshd
ls -al | less동작 흐름
명령어 실행
↓
Pipe(|)
↓
fgrep / less
↓
필요한 결과만 출력10. 파일 이동 및 복사
파일이나 디렉토리를 이동하거나 복사할 때 사용하는 명령어이다.
핵심
mv는 이동과 이름 변경을 모두 수행한다.- 디렉토리 복사는
cp -r옵션이 필요하다.
mv aaa bbb
cp aaa ccc
cp -r folder1 folder211. ZIP 압축
파일을 압축하거나 압축을 해제할 때 사용하는 명령어이다.
핵심
- 여러 파일을 하나의 ZIP 파일로 압축할 수 있다.
unzip으로 쉽게 압축을 해제할 수 있다.
zip files.zip a.txt b.txt
unzip files.zip12. 파일 권한(Permission)
리눅스에서는 파일과 디렉토리에 읽기(Read), 쓰기(Write), 실행(Execute) 권한이 존재한다.
핵심
r,w,x권한으로 구성된다.chmod를 이용해 권한을 변경할 수 있다.
chmod 755 run.sh권한 숫자
| 권한 | 숫자 |
|---|---|
| rwx | 7 |
| rw- | 6 |
| r-x | 5 |
| r-- | 4 |
권한 예시
-rwxr-xr-x- 첫 글자가
d이면 디렉토리이다. - 첫 글자가
-이면 일반 파일이다.
✅ 정리
- Bash Shell은 운영체제와 사용자가 명령어로 상호작용할 수 있도록 도와주는 명령어 인터프리터이다.
pwd,ls,cd는 파일과 디렉토리를 탐색할 때 가장 기본이 되는 명령어이다.touch,mkdir,rm,rm -rf를 이용해 파일과 디렉토리를 생성하고 삭제할 수 있다.echo,cat, 리다이렉션을 이용하면 파일을 생성하고 내용을 저장하거나 확인할 수 있다.- VIM은 터미널 환경에서 자주 사용하는 텍스트 편집기로 입력 모드와 명령 모드를 구분해서 사용한다.
- Pipe와
fgrep을 활용하면 여러 명령어를 연결하여 원하는 결과만 효율적으로 추출할 수 있다. mv,cp,zip,chmod는 파일 관리와 서버 작업에서 자주 사용하는 핵심 명령어이다.