쿼츠 블로그를 위해 대공사
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
---
|
||||
id: FHS(Filesystem Hierarchy Standard) 20260403
|
||||
created: 2026-04-03 11:04
|
||||
tags:
|
||||
aliases:
|
||||
---
|
||||
## 💡 생각
|
||||
파일구조에 자유도를 억제해서 어느정도 규격화를 해놓은 것,
|
||||
너무 자유로우면 무슨 파일이 어디에 있는지 확인하기가 매우 어려울텐데
|
||||
어떤 종류의 파일은 어디에 있어야 하고 이런 규칙을 정의해서
|
||||
어떤 리눅스를 사용하든 어느정도의 규칙이 존재하기 때문에 원하는 파일을 어느정도 쉽게 찾아갈 수 있게끔 함
|
||||
|
||||
---
|
||||
## 📑 개념
|
||||
뿌리가 되는 **루트(`/`)** 아래에 모든 것이 가지처럼 뻗어 나가는 **역트리 구조**
|
||||
리눅스나 유닉스 계열 운영체제를 사용하다 보면 폴더 구조가 왜 이렇게 복잡한지 궁금할 때가 있죠.
|
||||
**FHS(Filesystem Hierarchy Standard)**는 바로 이런 혼란을 방지하기 위해 파일과 디렉터리의 위치를 정의한 표준 규격입니다.
|
||||
|
||||
덕분에 사용자나 소프트웨어 개발자는 어떤 리눅스 배포판을 사용하더라도 특정 파일이 어디에 있을지 예측할 수 있습니다.
|
||||
|
||||
## 📌 상세
|
||||
|
||||
- **/ (root)**: 모든 파일과 디렉터리의 시작점
|
||||
: 모든 디렉토리의 시작점입니다. 윈도우의 `C:\`와 비슷하지만, 리눅스에서는 모든 장치(하드디스크, USB 등)가 이 아래의 특정 폴더에 연결(마운트)됩니다.
|
||||
|
||||
--- 📂 주요 디렉토리
|
||||
- **/bin**: 필수적인 사용자 명령 파일 (Binaries)
|
||||
: 모든 사용자가 쓸 수 있는 기본 명령어들이 들어 있습니다.
|
||||
|
||||
- **/sbin**: 시스템 관리용 실행 파일 (System Binaries)
|
||||
: 시스템 관리자(Root)가 사용하는 명령어들이 모여 있습니다.
|
||||
|
||||
- **/etc**: 시스템 설정 파일 (Editable Text Configurations)
|
||||
: **가장 중요한 폴더 중 하나입니다.** 시스템의 모든 **설정 파일**이 들어 있습니다.
|
||||
: 사용자 정보(`/etc/passwd`), 네트워크 설정, 설치된 프로그램의 환경 설정 등이 모두 여기에 텍스트 파일로 저장됩니다.
|
||||
|
||||
- **/home**: 일반 사용자들의 홈 디렉터리
|
||||
: 일반 사용자들의 개인 공간, 예를 들어 계정명이 `dihwang`이라면 `/home/dihwang` 폴더가 생기고, 그 안에 바탕화면, 다운로드, 개인 설정 등이 저장됩니다.
|
||||
: 관리자(root)를 제외한 모든 사용자는 자신의 홈 디렉토리 밖에서는 파일을 맘대로 만들거나 지울 수 없습니다.
|
||||
|
||||
- **/root**: 시스템 관리자(root)의 홈 디렉터리
|
||||
: 시스템 최고 관리자인 **root 사용자의 홈 디렉토리**입니다. 일반 사용자 홈 디렉토리(`/home`)와는 별도로 관리됩니다.
|
||||
|
||||
---
|
||||
|
||||
--- ⚙️ 시스템 운영을 위한 폴더들
|
||||
- **/usr**: 사용자 관련 모든 프로그램과 데이터 (User System Resources)
|
||||
: 사용자가 설치한 프로그램과 데이터들이 모이는 곳입니다. 윈도우의 `C:\Program Files`와 가장 비슷합니다.
|
||||
: `/usr/bin`: 나중에 설치한 응용 프로그램들의 실행 파일.
|
||||
: `/usr/lib`: 프로그램 실행에 필요한 공유 라이브러리들.
|
||||
|
||||
- **/var**: 가변적인 데이터 저장소 (Variable)
|
||||
: **내용이 수시로 변하는 데이터**가 저장됩니다.
|
||||
: `/var/log`: 시스템 로그가 쌓이는 곳입니다. 서버가 왜 죽었는지 확인할 때 필수입니다.
|
||||
: `/var/www`: 웹 서버(Apache, Nginx)의 소스 파일들이 기본적으로 위치하는 곳입니다.
|
||||
|
||||
- **/tmp**: 임시 파일 저장소 (Temporary)
|
||||
: **임시 파일** 저장소입니다. 부팅 시나 일정 시간이 지나면 자동으로 삭제되는 파일들이 머뭅니다. 누구나 파일을 쓰고 지울 수 있습니다.
|
||||
|
||||
- **/dev**: 장치 파일 (Devices)
|
||||
: 리눅스는 **모든 것을 파일로 관리한다**는 철학이 있습니다. 마우스, 키보드, 하드디스크 같은 물리적인 장치들도 이 폴더 안에 파일 형태로 존재합니다.
|
||||
|
||||
- **/mnt**: 수동으로 마운트하는 임시 지점 (Mount)
|
||||
: 관리자가 수동으로 하드디스크 등을 연결할 때 쓰는 임시 장소.
|
||||
- **/media**: 외부 장치 자동 마운트 지점 (USB, CD-ROM 등)
|
||||
: USB나 CD-ROM을 꽂으면 자동으로 연결되는 곳.
|
||||
|
||||
- **/opt**: 추가 패키지 소프트웨어 설치 (Optional)
|
||||
|
||||
- **/boot**: 부팅 관련 핵심 파일
|
||||
|
||||
- **/srv**: 시스템이 제공하는 서비스 데이터 (Service)
|
||||
: 요즘은 `/var/www` 등을 더 많이 씁니다.
|
||||
|
||||
- **/tmp**: 임시 파일 저장소 (Temporary)
|
||||
|
||||
- **/lib**: 공유 라이브러리 및 커널 모듈 (Libraries)
|
||||
---
|
||||
Reference in New Issue
Block a user