리눅스 구조. 중요한 폴더(디렉토리)는 뭐가 있나?

요즘 리눅스에 서버를 만들며 공부중입니다.

리눅스는 계층적인 트리 구조로 폴더(디렉토리)를 관리합니다. 마치 나무의 뿌리, 줄기, 가지처럼 하나의 최상위 폴더(/)를 시작으로 모든 파일과 폴더가 연결되어 있습니다. 이 구조는 체계적이고 효율적인 파일 관리를 가능하게 합니다.

리눅스 폴더 시스템의 기본 구조:

리눅스의 표준 파일 시스템 레이아웃(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로 실행하는 것은 매우 위험합니다.

리눅스의 폴더 시스템을 이해하는 것은 시스템 관리에 있어서 아주 기본적인 부분입니다. 이 구조를 잘 이해하고 각 폴더의 역할을 숙지하면 리눅스를 더욱 효율적이고 안전하게 사용할 수 있을 거예요

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다