Files
kui-vault/content/02.Volume/Linux-Unix/리눅스의 파일시스템.md
T
2026-04-09 11:34:46 +09:00

3.4 KiB

id, created, tags
id created tags
리눅스의 파일시스템 20260403 2026-04-03 10:43

리눅스의 파일 시스템 구조는 FHS(Filesystem Hierarchy Standard)라는 표준을 따릅니다. 윈도우처럼 C:\, D:\로 나뉘는 게 아니라, 뿌리가 되는 루트(/) 아래에 모든 것이 가지처럼 뻗어 나가는 역트리 구조죠. !Pasted image 20260403104845.png 덕분에 사용자나 소프트웨어 개발자는 어떤 리눅스 배포판을 사용하더라도 특정 파일이 어디에 있을지 예측할 수 있습니다.

상세한 파일 시스템 구조는 FHS(Filesystem Hierarchy Standard) 참고

[!info] 우리가 자주 건드리는 중요 폴더

  • etc: 시스템의 모든 설정 파일이 들어있는 심장부입니다. (비밀번호, 네트워크, 서비스 설정 등)
  • home: 일반 사용자들의 개인 폴더가 있는 곳입니다. (/home/dihwang)
  • root: 일반 사용자가 접근할 수 없는 최고 관리자(root) 전용 홈 디렉토리입니다. (보시면 권한이 drwx------로 꽉 막혀 있죠?)
  • var: 내용이 수시로 변하는 파일들. 주로 **로그(log)**나 데이터베이스 파일, 웹 소스 등이 여기 위치합니다.
  • tmp: 임시 파일 저장소입니다. 누구나 쓸 수 있지만 재부팅하면 보통 사라집니다.

[!warning] 서버 관리자가 아니면 잘 안건드리는 폴더

  • dev: 장치(Device) 파일들. 하드디스크, 키보드 등을 리눅스는 파일로 인식합니다.
  • proc & sys: 실제 하드디스크에 저장된 폴더가 아닙니다. 메모리(RAM)에 떠 있는 가상 폴더로, 현재 실행 중인 프로세스 정보나 커널 설정을 보여줍니다. (용량이 0으로 표시되는 이유입니다.)
  • run: 시스템 부팅 이후의 실행 정보를 담고 있는 임시 메모리 폴더입니다.
  • boot/: 리눅스 커널과 부팅할 때 필요한 설정들이 들어있습니다. 여길 잘못 건드리면 부팅이 안 됩니다.
  • opt/: 패키지 관리자가 아닌, 외부에서 가져온 덩치 큰 소프트웨어를 설치할 때 주로 씁니다.
  • snap/: 우분투 전용 패키지 방식인 'Snap'으로 설치된 프로그램들이 머무는 곳입니다.
  • srv/: 서버(Service)를 위한 데이터가 들어가는 곳인데, 요즘은 /var/www 등을 더 많이 씁니다.
  • lost+found/: 시스템이 비정상 종료되어 파일 시스템이 깨졌을 때, 복구된 파일 파편들이 모이는 장소입니다.
  • mnt/ & media/: USB나 다른 하드디스크를 연결할 때 사용하는 통로입니다.

[!question] Q. editable text configuration 이었던거같은데 왜 여기에 nginx가 설치가 되는거야? 내생각엔 text configuration이니까 nginx.conf 이런 파일들이 위치하는건 이해가 가는데 실행파일같은건 다른데로 가야하는거 아닌가해서

A. 정확한 지적입니다! 대일님의 직관이 아주 훌륭해요. 사실 /etc 폴더에 nginx 실행 파일(Binary)이 설치되는 것은 아닙니다.

리눅스의 철저한 역할 분담 원칙에 따라 nginx는 여러 폴더에 쪼개져서 저장됩니다. 대일님이 생각하신 "실행 파일은 다른 데 있어야 하지 않나?"라는 의문이 리눅스 구조의 핵심이에요.

리눅스에 Nginx를 설치할 때 일어나는 일들