리눅스 구성 디렉터리 구조
리눅스의 디렉터리는 트리(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 |
커널과 프로세스 정보를 위한 가상 파일 시스템입니다. 현재 메모리에 존재하는 모든 작업들이 파일 형태로 존재합니다. 실제 디스크상이 아닌 메모리상에 존재하기 때문에 가상 파일시스템 이라고 합니다. |
우분투에서 본 루트(/) 경로 하위의 디렉터리 구조
참고글
'리눅스[Linux]' 카테고리의 다른 글
[Linux] 리눅스 ls 명령어 - 파일 목록 보기 (0) | 2018.02.27 |
---|---|
[Linux] 리눅스 경로, 절대경로, 상대경로 개념 (0) | 2018.02.26 |
[Linux] 리눅스 우분투 명령어 도움말 보기 (0) | 2018.02.24 |
[Linux] 리눅스 우분투 명령어 자동완성 및 기록(history) 보기 (0) | 2018.02.24 |
[Linux] 리눅스 우분투 가상 터미널 (0) | 2018.02.23 |