리눅스는 계층적인 트리 구조로 폴더(디렉토리)를 관리합니다. 마치 나무의 뿌리, 줄기, 가지처럼 하나의 최상위 폴더(/
)를 시작으로 모든 파일과 폴더가 연결되어 있습니다. 이 구조는 체계적이고 효율적인 파일 관리를 가능하게 합니다.
리눅스 폴더 시스템의 기본 구조:
리눅스의 표준 파일 시스템 레이아웃(Filesystem Hierarchy Standard, FHS)은 폴더들의 역할과 위치를 정의하고 있어, 대부분의 리눅스 배포판이 이 표준을 따릅니다. 주요 폴더들은 다음과 같습니다.
/
(루트 디렉토리): 모든 파일과 폴더의 최상위 부모 디렉토리입니다. 윈도우의C:\
와 비슷하다고 생각할 수 있지만, 리눅스에서는 모든 마운트 지점도 이 루트 디렉토리 아래에 포함됩니다./bin
(Binary): 기본적인 사용자 명령어 실행 파일들이 저장됩니다.ls
,cp
,mv
,rm
등 시스템 운영에 필수적인 명령어들이 들어있습니다./sbin
(System Binary): 시스템 관리자(root) 권한으로 실행해야 하는 중요한 시스템 관리 명령어들이 저장됩니다.fdisk
,mkfs
,shutdown
등이 있습니다./usr
(Unix System Resources): 시스템에서 일반적으로 사용되는 프로그램, 라이브러리, 문서 등이 저장됩니다./usr/bin
: 일반 사용자를 위한 추가적인 명령어 실행 파일들 (grep
,find
등)./usr/sbin
: 시스템 관리를 위한 추가적인 명령어 실행 파일들./usr/lib
또는/usr/lib64
: 프로그램 실행에 필요한 라이브러리 파일들./usr/share
: 아키텍처에 독립적인 공유 데이터 (문서, 아이콘 등)./usr/local
: 시스템 관리자가 직접 컴파일하거나 외부에서 설치한 프로그램들이 주로 설치되는 곳입니다. (하위 구조는/usr
과 유사합니다:/usr/local/bin
,/usr/local/lib
등)
/etc
(Etcetera): 시스템의 전반적인 설정 파일들이 저장되는 곳입니다. 네트워크 설정, 사용자 계정 정보, 시스템 서비스 설정 등 중요한 파일들이 많습니다./home
: 각 사용자 계정의 개인 홈 디렉토리가 위치합니다. 예를 들어, 사용자 이름이user1
이라면/home/user1
폴더가 자신의 문서, 다운로드, 설정 파일 등을 저장하는 공간이 됩니다./root
: 시스템의 최고 관리자인 root 사용자의 홈 디렉토리입니다. 일반 사용자 홈 디렉토리와 분리되어 있습니다./var
(Variable): 시스템 운영 중에 내용이 자주 변경되는 파일들이 저장됩니다. 로그 파일 (/var/log
), 스풀링 데이터 (/var/spool
), 임시 파일 (/var/tmp
), 데이터베이스 파일 등이 있습니다./tmp
(Temporary): 임시 파일들이 저장되는 곳입니다. 시스템이 재부팅될 때 내용이 삭제될 수 있습니다./dev
(Devices): 시스템에 연결된 하드웨어 장치 파일들이 저장됩니다. 터미널, 디스크 드라이브, USB 장치 등을 파일 형태로 접근할 수 있습니다./proc
(Processes): 현재 실행 중인 프로세스에 대한 정보와 시스템 커널 정보를 제공하는 가상 파일 시스템입니다. 실제 파일이 아닌 메모리에 생성되는 정보입니다./sys
(System): 시스템의 하드웨어 및 커널 관련 정보를 제공하는 또 다른 가상 파일 시스템입니다./proc
보다 더 구조화된 정보를 제공합니다./mnt
(Mount): 외부 저장 장치 (USB 드라이브, CD-ROM 등)를 임시로 마운트하는 데 사용되는 디렉토리입니다./media
: 이동식 미디어 장치 (예: USB 드라이브)가 자동으로 마운트되는 위치입니다 (일부 배포판)./opt
(Optional): 선택적으로 설치되는 대규모 애플리케이션 패키지들이 저장되는 곳입니다./srv
(Service): 시스템에서 제공하는 서비스 관련 데이터가 저장되는 곳입니다 (웹 서버 데이터 등).
중요한 폴더:
/etc
: 시스템의 핵심 설정을 담고 있으므로 매우 중요합니다. 이 폴더의 파일을 잘못 수정하면 시스템이 오작동할 수 있습니다./home/<사용자 이름>
: 개인적인 데이터와 설정이 저장되는 곳이므로 중요합니다./var/log
: 시스템 및 애플리케이션 로그 파일이 저장되어 시스템 문제 해결에 중요한 역할을 합니다.
조심해야 할 폴더:
/
(루트 디렉토리): 최상위 폴더이므로 이곳에서 함부로 파일을 삭제하거나 변경하면 시스템 전체에 영향을 미칠 수 있습니다./bin
,/sbin
,/usr/bin
,/usr/sbin
: 시스템 운영에 필수적인 명령어들이 저장된 곳이므로 함부로 삭제하거나 변경하면 안 됩니다./lib
,/usr/lib
,/usr/lib64
: 프로그램 실행에 필요한 핵심 라이브러리 파일들이 저장된 곳이므로 삭제하거나 변경하면 프로그램 실행에 오류가 발생할 수 있습니다.
주의 사항:
- 일반적으로 사용자 홈 디렉토리(
/home/<사용자 이름>
) 안에서 작업하는 것이 안전합니다. - 시스템 관련 설정을 변경하거나 중요한 파일을 수정할 때는 반드시 관리자 권한(
sudo
)을 사용해야 하며, 변경 전에 내용을 충분히 이해하고 백업하는 것이 좋습니다. - 알 수 없는 명령어를
sudo
로 실행하는 것은 매우 위험합니다.
리눅스의 폴더 시스템을 이해하는 것은 시스템 관리에 있어서 아주 기본적인 부분입니다. 이 구조를 잘 이해하고 각 폴더의 역할을 숙지하면 리눅스를 더욱 효율적이고 안전하게 사용할 수 있을 거예요