티스토리 뷰
반응형
https://www.youtube.com/watch?v=L133ug7Xxmc
개발자로 일하다 보면 좋든 싫든 리눅스 서버에 접속할 일이 정말 많다. cd, ls, cat 같은 익숙한 명령어를 치며 폴더를 넘나들지만, 문득 궁금해질 때가 있다. ls -al /를 쳤을 때 나오는 수많은 폴더들... 대체 얘네들은 다 뭐 하는 애들일까?
솔직히 고백하자면, 나도 home, etc, var 정도를 제외하면 나머지는 대충 감으로만 알고 있었다. 그러다 얼마 전 유튜브를 보다가 우연히 아래 영상을 발견했다. 단 1분 남짓한 시간에 리눅스의 핵심 폴더 구조를 깔끔하게 설명해 주는데, '아, 이건 한번 정리해둬야겠다'는 생각이 번쩍 들었다.
그래서 오늘은 이 영상을 바탕으로, 리눅스의 주요 폴더들이 각각 어떤 역할을 하는지 내 식대로 정리해 보려고 한다.
리눅스 파일 시스템 핵심 폴더 요약
마치 우리 몸에 장기들이 각자 역할을 하듯, 리눅스의 폴더들도 저마다의 역할이 정해져 있다.
/(루트)
모든 것의 시작. 윈도우의C:\드라이브와 비슷하지만, 리눅스에서는 모든 것이 이 루트 폴더 아래에 나무처럼 뻗어 나간다./bin&/sbin/bin:ls,cp,cat처럼 시스템을 사용하는 데 필요한 기본적인 명령어(프로그램)들이 들어있다. 일반 사용자들도 쓸 수 있는 필수 명령어들의 모음./sbin:reboot,fdisk처럼 시스템 관리자(root)용 명령어들이 들어있다. 시스템을 제어하는 중요한 명령어들이라 보통 루트 권한으로 실행한다.
/boot
이름 그대로 부팅에 필요한 파일들이 담겨있다. 리눅스 커널 이미지, 부트로더 설정 파일 등이 여기에 있다. 여기가 망가지면? 시스템이 부팅조차 되지 않는 대참사가 일어난다./dev
리눅스의 철학 "모든 것은 파일이다"를 제대로 보여주는 폴더. CPU, 메모리, 하드 드라이브, 키보드 등 모든 하드웨어 장치들이 파일 형태로 존재한다./dev/null은 뭐든지 집어삼키는 블랙홀 파일로, 출력을 버리고 싶을 때 종종 사용하곤 한다./etc
개발자라면/var만큼이나 자주 들락거리는 곳. 시스템 전체에 적용되는 각종 설정 파일들이 모여있다. Nginx 설정(nginx.conf), 호스트 정보(hosts), 사용자 계정 정보(passwd) 등이 모두 여기에 있다./home
일반 사용자들의 개인 공간.home/worni처럼 사용자 계정별로 폴더가 생성된다. 내가 만든 문서, 다운로드한 파일, 그리고 중요한.bashrc나.vimrc같은 개인 설정 파일들이 여기에 저장된다. 나의 소중한 공간!/lib/bin과/sbin에 있는 프로그램들이 실행될 때 필요한 공유 라이브러리(shared libraries) 파일들이 저장된다. 윈도우의DLL파일과 비슷한 역할./media&/mnt
둘 다 외부 장치를 연결(마운트)하는 데 쓰이지만, 약간의 관습적인 차이가 있다./media: USB 드라이브, CD-ROM처럼 자동으로 마운트되는 장치들을 위한 폴더./mnt: 시스템 관리자가 수동으로 파일 시스템을 잠시 마운트할 때 사용하는 임시 폴더.
/opt
Optional. OS 기본 패키지가 아닌, 서드파티 소프트웨어를 설치할 때 사용되는 경로다. 예를 들어 크롬 브라우저나 슬랙 같은 프로그램을 설치하면 여기에 저장될 수 있다./proc&/sys
둘 다 가상 파일 시스템으로, 현재 실행 중인 시스템의 정보를 보여준다./proc: 프로세스와 시스템 정보를 담고 있다.cat /proc/cpuinfo로 CPU 정보를 보거나cat /proc/meminfo로 메모리 상태를 확인하는 등, 현재 시스템의 상태를 들여다볼 수 있다./sys:/proc보다 좀 더 현대적이고 구조화된 방식으로 하드웨어와 커널 정보를 보여준다.
/root/home이 일반 사용자들의 홈 디렉터리라면,/root는 말 그대로 시스템의 왕, root 사용자의 전용 홈 디렉터리다./tmp
이름 그대로 임시(Temporary) 파일을 위한 공간. 프로그램들이 잠시 사용하고 버릴 파일들을 여기에 저장한다. 보통 시스템이 재부팅될 때 내용이 전부 삭제되므로, 중요한 파일을 여기에 뒀다간 큰일 난다. (경험담이다...)/usr
"User System Resources"의 약자. 사용자가 설치한 대부분의 프로그램과 라이브러리가 여기에 위치한다./bin이 시스템 부팅에 필요한 최소한의 명령어를 담고 있다면,/usr/bin은 우리가apt나yum으로 설치한 대부분의 애플리케이션 명령어를 담고 있다./var
Variable. 시스템이 운영되면서 내용이 계속 변하는 데이터를 저장한다./var/log: 시스템 로그 파일이 저장되는 곳. 서버에 문제가 생겼을 때 개발자들이 가장 먼저tail -f를 외치며 달려가는 바로 그곳이다./var/cache: 애플리케이션들이 사용하는 캐시 데이터.
정리하며
짧은 영상이었지만, 덕분에 막연하게만 알고 있던 리눅스의 폴더 구조를 머릿속에 명확하게 정리할 수 있었다. 각 폴더의 역할을 알고 나니, 왜 프로그램들이 특정 경로에 설치되고, 왜 로그 파일은 /var/log에 있는지 자연스럽게 이해가 됐다. 이제 리눅스 서버를 좀 더 자신 있게 돌아다닐 수 있을 것 같다.
#Linux #리눅스 #서버 #개발자 #DevOps #파일시스템 #초보
참고 영상:
- Linux Directories Explained in 1 Minute (YouTube):
https://www.youtube.com/watch?v=L133ug7Xxmc
반응형
'프로그래밍' 카테고리의 다른 글
| 람다 함수에 대한 고찰 - 포프TV '람다, 그냥 쓰지 마세요'를 보고... (0) | 2025.09.25 |
|---|---|
| 요즘 핫한 Claude Code, 현업 개발자가 알려주는 실전 꿀팁 총정리 (0) | 2025.09.13 |
| 파이썬(python)으로 파일 해시 구하기(hashlib) (0) | 2023.04.16 |
| 파이썬(python)에서 파일 크기 알아오기 (0) | 2023.04.16 |
| 파이썬(python) 파일 읽기 쓰기 (open) (0) | 2023.04.16 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ChatGPT
- Frontend
- 오리역
- Python
- openai
- golang
- Java
- ios
- 재테크
- HTML
- JavaScript
- CSS
- 카톡업데이트
- Linux
- SWiFT
- go
- AI
- 프로그래밍
- Backend
- react
- 부동산분석
- MacOS
- 생각
- 카카오톡
- 내집마련
- reactjs
- Spring
- 부동산
- 주식투자
- 개발자
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함