리눅스 구성 디렉터리 구조
리눅스의 디렉터리는 트리(tree) 구조를 하고 있습니다. 트리구조란 나무의 나뭇가지와 같이 하나의 가지에서 여러 가지가 뻗어 나가고 또 뻗어나간 가지에서 다른 가지들이 뻗어 나가는것과 같은 구조를 말합니다.


리눅스의 모든 경로는 제일 최상위 디렉터리인 루트(/) 경로에서부터 시작됩니다.
리눅스는 루트 경로 하위에 역할에 따라 여러가지 디렉터리로 나뉘게 됩니다.
위 그림을 보면 /에서 시작되며 /root, /boot, /dev ... 등이 있으며 해당 디렉터리들 하위에 새로운 디렉터리 및 파일들이 생성될 수 있습니다. 예를들어 /opt/aaa, /opt/bbb, /opt/ccc, /opt/aaa/aaa 등과 같습니다.



디렉터리 종류 및 설명
리눅스가 발전해 오면서 리눅스 운영체제 동작에 필요한 역할에 따른 디렉터리 체계가 표준화 되었는데 그 종류와 설명은 다음과 같습니다.
표준 디렉터리 체계이므로 거의 모든 리눅스는 이와 같은 표준에 맞추어져 있지만 리눅스 배포판 종류, 버전에 따라 조금씩 다를 수 있습니다.

디렉터리
설명
/
리눅스 파일시스템의 최상위 디렉터리인 /(루트) 디렉터리입니다. 리눅의 모든 경로는 / 로 부터 시작되며, 절대경로를 표기할때 기준이 되는 디렉터리입니다.
/root
최상위 권한을 갖는 root 계정의 홈 디렉터리입니다.
루트 디렉터리(/)와 헷갈릴 수 있는데 여기서 root 계정명 이름입니다.
루트 디렉터리와 root의 홈디렉터리는 헷갈리므로 구분하여 이해할 필요가 있습니다.
/boot
리눅스 부트로터가 존재하는 디렉터리 입니다. grub.conf 같은 부트로더에 관한 파일들이 이곳에 존재합니다. 리눅스 커널은 / 나 /boot에 존재해야 하며 별도의 파티션 할당을 권장하고 있습니다.
/dev
시스템 장치(device) 파일을 저장하고 있는 디렉터리입니다.
예를들어 CD-ROM은 /dev/cdrom 으로 저장되어 있습니다.
/etc
리눅스에서 사용되는 거의 모든 설정 파일들이 존재하는 디렉터리입니다.
패스워드 설정파일인 /etc/passwd, 그룹 설정 /etc/group, xinetd, vsftpd, 제어판 설정인 /etc/sysconfig 등과 같은 파일들이 이곳에 있습니다.
/bin
명령어 파일들이 존재하는 디렉터리입니다. 기본적인 명령어인 cp, mv, rm, df 등의 명령어들이 존재합니다. CentOS7 부터는 /usr/bin으로 심볼릭 링크 되어 있습니다.

/lib
커널 모듈 파일과 라이브러리 파일들이 존재하는 디렉터리입니다.
커널이 필요로 하는 커널 모듈 파일들과 C, C++등의 프로그램에 필요한 라이브러리들이 존재합니다.
CentOS7부터는 /usr/lib으로 심볼릭 링크 되어있고 64비트의 경우 /lib64 CentOS7 부터는 /usr/lib64로 링크 되어 있습니다.
/media
CD/DVD, USB 등의 장치들의 마운트 장소로 사용되는 디렉터리입니다. /mnt 디렉터리가 같은 용도로 사용 됩니다.
/opt
사용자 소프트웨어를 설치하는 디렉터리입니다. 허나 실제로는 대부분 /usr 하위에 설치됩니다.

/sbin
시스템 관리를 위한 유틸리티들과 root 계정만을 위한 명령어들의 경우 /sbin, /usr/sbin, /usr/local/sbin에 저장됩니다. /sbin은 /bin 디렉터리의 바이너리들에 추가적으로 부팅, 복원, 복구 등을 위한 중료한 바이너리들을 포함하고 있습니다. CentOS7부터 /usr/sbin으로 링크되어 있습니다.






/usr
2차 디렉터리 시스템으로 일반 사용자들이 사용하는 디렉터리입니다.
다른 항목들에서도 설명 했지만 다음과 같은 디렉터리들이 /usr 하위에 존재합니다.

/usr/bin - 대부분의 사용자 명령어들이 있습니다. du, find, crontab, python, perl 등
/usr/include - c, c++ 프로그램에 포함되는 파일들이 존재합니다.
/usr/lib - 프로그래밍과 패키지들을 위한 라이브러리들이 존재합니다.
/usr/local - 로컬 디렉터리 시스템으로 시스템관리자가 컴퓨터에서 사용할 프록램을 설치하는 곳입니다.
/usr/sbin - 시스템 바이너리들이 존재합니다.
/usr/share - 읽기만 가능한 아키텍처 비의존 데이터들이 존재합니다. man과 misc 디렉터리를 포함하고 패키지 설치 여부에 따라 doc, games, locale, termingo 등의 디렉터리를 포함합니다.
/usr/src - 리눅스 커널 등의 소스코드가 포함되어 있습니다.
/var
시스템 운영 중 생성되었다가 자주 수정되고 삭제되는 가변 자료들이 저장되는 디렉터리 입니다.
시스템 로그 파일은 /var/log에 생성됩니다.
/home
기본적으로 사용자들의 홈 디렉터리가 존재하는 곳입니다.
useradd 명령어를 통해 새로운 사용자 계정을 생성하면 아이디와 동일한 이름으로 /home/계정명 과 같이 생성됩니다.
/proc
커널과 프로세스 정보를 위한 가상 파일 시스템입니다. 현재 메모리에 존재하는 모든 작업들이 파일 형태로 존재합니다. 실제 디스크상이 아닌 메모리상에 존재하기 때문에 가상 파일시스템 이라고 합니다.

 

 

우분투에서 본 루트(/) 경로 하위의 디렉터리 구조




참고글
블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

,