Written by kakalot
1.리눅스 시스템의 디렉토리 구조 및 기능
리눅스의 디렉토리 구조는 전체적으로 트리(Tree) 구조를 하고 있으며, 명령어의 성격과 내용 및 사용 권한 등에 따라 디렉토리로 구분되고 있다. 리눅스 파일 시스템 구조는 기본적인 구조를 제외하고는 사용자의 설정에 따라 달라질 수 있다. 하지만 리눅스의 디렉토리 구조는 파일 시스템 표준안(FSSTND, Linux File System Standard)을 기반으로 하는 것이 바람직하다. 이것은 리눅스상에서 어떻게 파일 시스템을 구성할 것인지에 대한 표준안을 제정하기 위해서 만들어진 문서이다. 이 표준안을 무조건 따르라는 강제역은 없지만 리눅스 파일 시스템 표준안을 따라 파일 시스템을 구성할 경우 파일들의 위치가 일관되게 유지되어 프로그램 작성, 포팅은 물론 시스템 관리도 쉬워지는 이점이 있기 때문에 대부분의 배포판들이 이 표준안을 지키고 있다.
2. 디렉토리별 기능 및 내용
대부분의 리눅스는 FHF(Filesystem Hierarchy Standard) 표준 파일 시스템 계층을 사용하고 같은 목적의 파일들은 같은 장소에 일관되게 모아 관리하므로 시스템 자원이나 프로그램들을 쉽게 찾을 수 있다. 다시 말하자면 명령어, 파일 그리고 문서들이 제각기 독립된 장소에서 관리된다.
가. /
일반적으로 루트 디렉토리라고 부르는 리눅스 시스템에서 가장 최상위 디렉토리이며 디렉토리 구조의 시작이다. 시스템 관리자의 홈 디렉토리인 /root 디렉토리와는 별개이며 다른 것이다. ‘/’ 디렉토리를 제외한 디렉토리인 /bin, /etc, /boot, /mnt, /usr, /lib, /home, /dev, /proc, /var, /sbin, /tmp, /root, /lost+found는 ‘/’ 디렉토리 안에 존재한다.나. /bin
binarise의 약어로 이전 파일들이며 리눅스에서 가장 기본이 되는 명령어들이 모여 있는 디렉토리이다. 해당 디렉토리 안을 들여다보면 대부분의 파일들이 녹색으로 구성된 파일이 실행 파일임을 알 수 있다.특히 이곳에는 부팅에 필요한 명령어들이 위치하며 부팅 후에 시스템의 계정 사용자들이 사용할 수 있는 일반적인 명령어들도 위치하고 있다.
다. /etc
/etc 디렉토리는 리눅스에서 없어서는 안 될 디렉토리이며, 리눅스 시스템에 관한 각종 환경 설정에 연관된 파일들과 디렉토리들을 가진 디렉토리이다. 이 디렉토리에 있는 대부분의 파일들은 시스템 관리자에 의해서 관리되는 파일들이다.웹 서버 환경 설정, 시스템 계정 사용자 정보, 패스 워드 관리, 시스템의 파일 시스템 관리 파일, 여러 가지 시스템 보안에 관련된 파일들, 시스템 초기화 설정 파일, TCP/IP 설정 파일 등 시스템 전반에 걸친 거의 모든 환경 설정 파일들이 모두 이 디렉토리 안에 저장되어 있다.
라. /boot
리눅스 커널이 저장되어 있는 디렉토리로서 각종 리눅스 Boot에 필요한 booting 지원 파일들이 저장되어 있는 디렉토리이다.마. /mnt
외부 장치인 플로피 드스키, CD-Rom, Samba 등을 마운트하기 위해서 제공되는 디렉토리이다. 이 디렉토리는 임시로 사용되는 디렉토리이므로 프로그램은 /mnt 디렉토리에 어떠한 파일 시스템이 마운드되었는지 자동으로 인식하지 않는다. 또한 /mnt는 보통 여러 개의 하위 디렉토리로 나누어 사용하며, 평소에는 /mnt 디렉토리의 각 디렉토리들은 비어 있는 상태이다.바. /usr
이 디렉토리 역시 가장 중요한 디렉토리 중 하나로 사용하면서 공유할 수 있는 디렉토리와 파일들을 가지고 있다. 즉, 시스템에 사용되는 각종 응용 프로그램들이 설치되는 디렉토리이다. 거의 모든 프로그램과 그에 관련된 명령어 및 라이브러리들이 이 디렉토리에 위치하게 된다, 또한 X 시스템 관련 파일들과 리눅스 커널 소스, 각종 C 언어 관련 헤더 파일 등도 이 디렉토리 안에 저장되어 있고, 이 디렉토리 아래에 존재하는 하위 디렉토리에 대해 간략하게 설명하겠다.사. /lib
/lib 디렉토리에는 프로그램들의 각종 라이브러리들이 존재한다. 대부분 공유 라이브러리로 더 편리하게 사용할 수 있으며, 파일의 크기를 줄여서 실행할 때 불러 사용하게 된다.아. /home
/home 디렉토리에는 시스템 계정 사용자들의 홈 디렉토리와 ftp, www등과 같은 서비스 디렉토리들이 저장된다. 이곳은 디렉토리와 파일들은 시스템에서 사용되지 않는다. 단지 리모트상에서 시스템으로 접속을 하는 사용자들을 위한 공간이다.자. /dev
/dev 디렉토리에는 시스템의 각종 디바이스들에 접근하기 위한 디바이스 드라이버들이 저장되어 있는 디렉토리이다. 디렉토리를 살펴보면 많은 파일들이 위치하고 있는 것을 볼 수 있다. 하지만 이 디렉토리는 물리적인 용량을 갖지 않는 가상 디렉토리이다. 대표적으로는 하드 드라이브, 플로피, CD-Rom 그리고 루프백 장치 등이 존재한다. 리눅스 시스템은 윈도와 달리 각종 디바이스 장치들을 하나의 파일로 취급한다. 따라서 시스템은 각각의 장치로부터의 정보를 /dev 디렉토리에 존재하는 해당 장치 파일로부터 가지고 온다.차. /proc
/proc 디렉토리에는 시스템의 각종 프로세서, 프로그램 정보 그리고 하드웨어적인 정보들이 저장된다. 이 디렉토리는 가상 파일 시스템으로 가상 파일 시스템으로 /dev 디렉토리와 마찬가지로 하드 디스크상에 물리적인 용량을 갖지 않는다. 즉, 실제로 존재하지 않는다는 것이다. 또한 이 디렉토리에 존재하는 파일들은 실제 하드 디스크에 저장되지 않고 커널에 의해서 메모리에 저장된다. 그러므로 그 디렉토리 안의 파일들은 현재의 시스템 설정을 보여주는 것이다.카. /var
/var 디렉토리는 시스템에서 사용되는 동적인 파일들이 저장된다. 각종 시스템 로그파일, 사용자 로그인에 대한 보안 기록, 그리고 만약 시스템에 메일 서버를 운영 한다면 사용자들에게 전송된 메일들을 임시로 저장한다. 레드햇 7.0에서부터 /var 디렉토리의 용도에 변경 내용이 있다. 과거에는 /home 디렉토리에 저장되던 /home/httpd 디렉토리가 /var/www로 이름이 변경되어 저장된다.또한 /home/ftp 디렉토리가 /var/ftp로 변경되었다.
출처 : http://mnslaboratory.springnote.com/pages/755516
답글삭제