directory structure

2 minute read

디렉토리 구조와 용도

시스템 디렉토리 운영체제 전반에 관여를 하고 안정적인 운영을 하기 위해 존재하는 디렉토리 데이터 디렉토리 사용 데이터를 저장하기 위한 공간

# ls /
backup  boot   data2  data4  etc   lib    media  opt   root  sbin  sys   tmp  var
bin     data1  data3  dev    home  lib64  mnt    proc  run   srv   test  usr

리눅스의 디렉토리 구조는 전체적으로 트리(TREE) 구조를 하고있으며, 명령어의 성격과 내용 및 사용 권한 등에 따라 디렉토리로 구분되어 있다.

리눅스 파일 시스템 구조는 기본적인 구조를 제외하고는 사용자의 설정에 따라 달라질 수 있다.

하지만 리눅스의 디렉토리 구조는 파일 시스템 표준안(FSSTND, Linux File System Standard)을 기반으로 하는 것이 바람직하다.

표준안을 무조건 따르라는 강제력은 없지만 리눅스 파일 시스템 표준안을 따라 파일 시스템을 구성할 경우 파일들의 위치가 일관되게 유지되어 프로그램 작성, 포팅은 물론 시스템 관리도 쉬워지는 이점이 있기 때문에 대부분의 배포판들이 이 표준안을 지키고 있다.

/

/

일반적으로 root directory 라고 부르는 리눅스 시스템에서 가장 최상위 디렉토리 이며 디렉토리 구조의 시작이다

시스템 관리자의 홈 디렉토리인 /root 디렉토리와는 별개이며 다른 것이다. ‘/’디렉토리를 제외한 디렉토리인

/bin, /etc, /boot, /mnt, /usr, /lib, /home, /dev, /proc, /var, /sbin, /tmp, /root /lost+found

들은 ‘/’디렉토리 안에 존재한다.

/root

/root
  • 시스템 관리자의 홈 디렉토리 root 사용자의 환경파일 (.bash_profile, .bashrc)나 운영체제 설치시의 기록(install.log, anaconda-ks.cfg)들이 들어있다.

/bin

/bin
  • binaries 의 약어로 이진 파일들이고 리눅스에서 가장 기본이 되는 명령어들이 모여있는 디렉토리이다. 해당 디렉토리 안을 보면 대부분 파일들이 녹색으로 구성된 실행 파일임을 알 수 있다.

부팅에 필요한 명령어들이 위치하고 부팅 후에 시스템 계조 사용자들이 사용할 수 있는 일반적인 명령어들도 위치하고 있다.

/etc

/etc
  • 리눅스에서 없어서는 안 될 디렉토리이며, 리눅스 시스템에 관한 각종 환경 설정에 연관된 파일들과 디렉토리들을 가진 디렉토리이다.

웹 서버 환경 설정, 시스템 계정 사용자 정보, 패스워드 관리, 시슽메의 파일 시스템 관리 파일, 여러가지 시스템 보안 파일, 시스템 초기화 설청 파일, TCP/IP 설정 파일 등 시스템 전반에 걸친 거의 모든 환경 설정 파일들이 여기에 있다.

/boot

/boot
  • 리눅스의 커널이 저장되어 있는 디렉토리. 각종 리눅스 Boot에 필요한 Booting 지원 파일들이 저장되어 있음.

/mnt

/mnt
  • 외부 장치들을 마운트 하기 위해서 제공되는 디렉토리 이 디렉토리는 임시로 사용되는 디렉토리 이므로 프로그램은 여기에 어떤 파일 시스템이 마운트 되었는지 자동으로 인삭 안함.

/usr

/usr
  • 이 디렉토리도 중요한 디렉토리 중 하나로 사용하면서 공유할 수 있는 디렉토리와 파일들을 가지고 있음. 시스템에 사용되는 각종 응용 프로그램들이 설치되는 디렉토리이다.

거의 모든 프로그램과 그에 관련된 명령어 및 라이브러리들이 이 디렉토리에 있음. X 시스템 관련 파일과 리눅스 커널 소스, 각종 C언어 관련 헤더파일들도 이 디렉토리 안에 있다.

  1. /usr/bin 디렉토리 리눅스에서 사용되는 각종 프로그램들이 저장되어 있음
  2. /usr/etc 디렉토리 여러 가지 시스템 환경 설정파일들이 저장되어 있음. 하지만 /etc 디렉토리 안의 파일들과는 달리 꼭 필요한 파일은 아니다.
  3. /usr/sbin 디렉토리 시스템 관리자를 위한 명령어들이 저장
  4. /usr/include 디렉토리 C언어 관련 헤더파일들이 저장
  5. /usr/lib 디렉토리 각종 라이브러리들이 저장 사용자가 직접 작성한 프로그램을 컴파일 한다면 해당 프로그램은 /usr/lib 디렉토리 파일에 LInk 됨 라이브러리 안의 실행 코드가 필요하다면 /lib 디렉토리를 참조한다.
  6. /usr/local 디렉토리 시스템의 특징적인 프로그램들 (시스템 관리자에 의해 따로 설치되는 프로그램들) 이 저장되는 디렉토리.

/lib

/lib
  • 프로그램들의 각종 라이브러리들이 존재한다. 대부분 공유 라이브러리로 더 편리하게 사용할 수 있고, 파일 크기를 줄여서 실행할 때 불러 사용하게 됨.

/home

/home
  • 시스템 계정 사용자들의 홈 디렉토리가 저장됨. 이곳의 디렉토리와 파일들은 시스템에서 사용하지 않고 리모트 상에서 시스템으로 접속을 하는 사용자들을 위한 공간임

/dev

/dev
  • 시스템의 각종 디바이스들의 목록이 들어 있는 디렉토리. 이 디렉토리는 물리적인 용량을 갖지 않는 가상 디렉토리이다.

/proc

/proc
  • 시스템의 각종 프로세서, 프로그램 정보 하드웨어적인 정보들이 저장됨 가상 파일 시스템이므로 물리적인 용량을 갖지않음.

/var

/var
  • 시스템에서 사용되는 가변적인 파일들이 저장됨. 시스템 로그파일, 사용자 로그인에 대한 보안 기록이나 시스템에서 운영하는 메일 서버의 메일들을 임시로 저장함.

/tmp

/tmp
  • 임시 파일들을 위한 공용 디렉토리임. 프로그램들이 사용하는 임시 파일들이 생성되는 디렉토리이다.

/tmp 디렉토리 안의 내용은 재부팅 되면 삭제되고 부팅이 되면서 다시 생성된다.

Tags:

Categories:

Updated:

Leave a comment