4강 / 20강

파일 시스템 — 뿌리 하나에서 뻗은 나무

리눅스에는 C 드라이브가 없습니다

파일 시스템 — 뿌리 하나에서 뻗은 나무
모든 것이 / 하나에서 시작해 가지를 뻗습니다.

Windows를 쓰던 사람이 리눅스에서 가장 먼저 당황하는 지점입니다. C 드라이브가 없습니다. D 드라이브도, USB 드라이브 문자도 없어요.

리눅스에는 뿌리가 딱 하나뿐입니다. 그 이름은 /, 읽을 때는 "루트(root)". USB를 꽂으면? 새 드라이브 문자가 생기는 게 아니라 /media/jit/USB 처럼 나무의 한 가지에 매달립니다.

🪟 Windows — 숲
C:\  ← 나무 1
D:\  ← 나무 2
E:\  ← USB (나무 3)
장치마다 뿌리가 따로
🐧 Linux — 나무 한 그루
/
├── home
├── etc
└── media/jit/USB  ← USB
모든 것이 / 아래 한 그루

서버의 주요 가지들

Ubuntu 서버라면 어디를 가도 이 구조가 똑같습니다. 남의 서버에 처음 들어가도 길을 잃지 않는 이유죠.

/home사람들의 방/home/jit — 내 물건은 전부 여기
/etc설정 파일 창고nginx·ssh 설정이 전부 여기 (et cetera)
/var변하는 것들/var/log — 로그가 쌓이는 곳 (variable)
/usr설치된 프로그램/usr/bin — 명령어들의 진짜 몸통
/tmp임시 폴더껐다 켜면 사라짐
/rootroot 의 방/ 와 다릅니다. 헷갈리지 마세요
/boot커널부팅에 필요한 것들
/dev장치디스크·키보드도 파일로 보입니다

직접 나무를 타 봅시다. 아래 탐험기에서 폴더를 눌러 들어가 보세요. 누를 때마다 그에 해당하는 명령이 아래에 표시됩니다.

파일 시스템 탐험 — 클릭할 때마다 대응하는 명령이 보입니다
불러오는 중…

절대 경로와 상대 경로

친구에게 우리 집 위치를 알려 주는 방법은 두 가지죠.

절대 경로 — 주소로
/home/jit/shop/app.py
/ 로 시작. 내가 어디 있든 똑같이 통함
상대 경로 — 여기서부터
shop/app.py
../etc
./backup.sh
지금 위치가 기준. 짧지만 위치에 따라 달라짐
.지금 이 폴더점 하나
..한 칸 위 폴더점 두 개
~내 홈 폴더/home/jit 의 줄임말
-바로 전에 있던 곳cd - 로 왔다 갔다
cd 로 움직이면서 pwd 로 위치를 확인합니다
bash 내 가상 Ubuntu 서버에서 실행

이제 쇼핑몰이 어디 있는지 찾아가 봅시다. 우리가 20강 내내 관리할 앱입니다.

쇼핑몰 앱의 생김새 — 이 구조가 20강까지 함께 갑니다
bash 내 가상 Ubuntu 서버에서 실행
🤔 확인 문제
현재 위치가 /home/jit/shop/templates 일 때, cd ../.. 를 하면 어디로 가는가?
🤔 확인 문제
서버 설정 파일(nginx 설정 같은 것)을 찾을 때 가장 먼저 봐야 할 곳은?