Basic Security/_System2007.01.12 11:25
사용자 삽입 이미지

리눅스의 디렉터리 구조 및 기능

리눅스의 디렉터리 구조는 전체적으로 트리(Tree) 구조를 하고 있으며, 명령어의 성격과 내용 및 사용 권한 등에 따라 디렉터리로 구분되어 있다. 리눅스 파일 시스템 구조는 기본적인 구조를 제외하고는 사용자의 설정에 따라 달라질 수 있다. 하지만
리눅스의 디렉터리 구조는 파일 시스템 표준안
(FSSTND, Linux File System Standard)을 기반으로 하는 것이 바람직하다.

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

대부분의 리눅스는
FHS(Filesystem Hierarchy Standard) 표준 파일 시스템 계층을 사용하고 같은 목적의 파일들을 같은 장소에 일관되게 모아 관리하므로 시스템 자원이나 프로그램들을 쉽게 찾을 수 있다. 다시 말하자면 명령어, 파일 그리고 문서들이 제각기 독립된 장소에서 관리된다. 그럼 각 디렉터리에 대해 자세히 살펴보면서 알아보겠다.


■ /
일반적으로 루트 디렉터리라고 부르는 리눅스 시스템에서 가장 최상위 디렉터리이며 디렉터리 구조의 시작이다. 시스템 관리자의 홈 디렉터리인 /root 디렉터리와는 별개이며 다른 것이다. ‘/’ 디렉터리를 제외한 디렉터리인 /bin, /etc, /boot, /mnt, /usr, /lib, /home, /dev,
/proc, /var, /sbin, /tmp, /root /lost+found,
는 ‘/’디렉터리 안에 존재한다.


■ /bin
binaries의 약어로 이진 파일들이며 리눅스에서 가장 기본이 되는 명령어들이 모여 있는 디렉터리이다. 해당 디렉터리 안을 들여다보면 대부분의 파일들이 녹색으로 구성된 파일 이 실행 파일임을 알 수 있다.
특히 이곳에는 부팅에 필요한 명령어들이 위치하며 부팅 후에 시스템의 계정 사용자들이 사용할 수 있는 일반적인 명령어들도 위치하고 있다.


■ /etc
/etc 디렉터리는 리눅스에서 없어서는 안 될 디렉터리이며, 리눅스 시스템에 관한 각종 환경 설정에 연관된 파일들과 디렉터리들을 가진 디렉터리이다. 이 디렉터리에 있는 대부분의 파일들은 시스템 관리자에 의해서 관리되는 파일들이다.
웹 서버 환경 설정, 시스템 계정 사용자 정보, 패스워드 관리, 시스템의 파일 시스템 관리 파일, 여러 가지 시스템 보안에 관련된 파일들, 시스템 초기화 설정 파일, TCP/IP 설정 파일 등 시스템 전반에 걸친 거의 모든 환경 설정 파일들이 모두 이 디렉터리 안에 저장되어 있다.

다음은 /etc 파일 안에 존재하는 중요 디렉터리에 대한 설명이다.

more..


■ /boot
리눅스의 커널이 저장되어 있는 디렉터리로서 각종 리눅스 Boot에 필요한 Booting 지원 파일들이 저장되어 있는 디렉터리이다.디렉터리 안을 살펴보면 vmlinuz,라는 커널도 볼 수 있다.

■ /mnt
외부 장치인 플로피 디스크, CD-ROM, Samba 등을 마운트하기 위해서 제공되는 디렉터리이다. 이 디렉터리는 임시로 사용되는 디렉터리이므로 프로그램은 /mnt 디렉터리에 어떠한 파일 시스템이 마운트 되었는지 자동으로 인식하지 않는다. 또한 /mnt는 보통 여러 개의 하위 디렉터리로 나누어 사용하며, 평소에는 /mnt 디렉터리의 각 디렉터리들은 비어 있는 상태이다.


■ /usr
이 디렉터리 역시 가장 중요한 디렉터리 중 하나로 사용하면서 공유할 수 있는 디렉터리와 파일들을 가지고 있다. 즉, 시스템에 사용되는 각종 응용 프로그램들이 설치되는 디렉터리이다. 거의 모든 프로그램과 그에 관련된 명령어 및 라이브러리들이 이 디렉터리 에 위치하게 된다. 또한 X 시스템 관련 파일들과 리눅스 커널 소스, 각종 C언어 관련 헤더파일 등도 이 디렉터리 안에 저장되어 있고, 이 디렉터리 아래에 존재하는 하위 디렉터리에 대해 간략하게 설명하겠다.

more..


■ /lib
/lib 디렉터리에는 프로그램들의 각종 라이브러리들이 존재한다. 대부분 공유 라이브러리로 더 편리하게 사용할 수 있으며, 파일 크기를 줄여서 실행할 때 불러 사용하게 된다.

more..



■ /home
/home 디렉터리에는 시스템 계정 사용자들이 홈 디렉터리와 ftp, www등과 같은 서비스 디렉터리들이 저장된다. 이곳의 디렉터리와 파일들은 시스템에서 사용되지 않는다. 단지 리모트 상에서 시스템으로 접속을 하는 사용자들을 위한 공간이다.


■ /dev
/dev 디렉터리에는 시스템의 각종 디바이스들에 접근하기 위한 디바이스 드라이버들이 저장되어 있는 디렉터리이다. 디렉터리를 살펴보면 많은 파일들이 위치하고 있는 것을 볼 수 있다. 하지만 이 디렉터리는 물리적인 용량은 갖지 않는 가상 디렉터리이다. 대표적으로 하드 드라이브, 플로피, CD-ROM 그리고 루프백 장치 등이 존재한다. 리눅스 시스템은 윈도와 달리 각종 디바이스 장치들을 하나의 파일로 취급한다. 따라서 시스템은 각각의 장치로부터의 정보를 /dev 디렉터리에 존재하는 해당 장치 파일로부터 가져온다.

more..


■ /proc
/proc 디렉터리에는 시스템의 각종 프로세서, 프로그램 정보 그리고 하드웨어적인 정보들이 저장된다. 이 디렉터리는 가상 파일 시스템으로 /dev 디렉터리와 마찬가지로 하드디스크 상에 물리적인 용량을 갖지 않는다. 즉, 실제로 존재하지 않는다는 것이다. 또한 이 디렉터리에 존재하는 파일들은 실제 하드 디스크에 저장되지 않고 커널에 의해서 메모리에 저장된다. 그러므로 그 디렉터리 안의 파일들은 현재의 시스템 설정을 보여주는 것이다. 다음은 /proc 디렉터리에 대해 하부 디렉터리에 대한 설명이다.

more..


■ /var
/var 디렉터리는 시스템에서 사용되는 동적인 파일들이 저장된다. 각종 시스템 로그파일, 사용자 로그인에 대한 보안 기록, 그리고 만약 시스템에 메일 서버를 운영한다면 사용자들에게 전송된 메일들을 임시로 저장한다. 레드햇 7.0에서부터 /var 디렉터리의 용도에 대한 변경 내용이 있다. 과거에는 /home 디렉터리에 저장되던 /home/ httpd 디렉터리가 /var/www 로 이름이 변경되어 저장된다.
또한 /home/ftp 디렉터리가 /var/ftp로 변경되었다. /var 디렉터리를 좀 더 자세하게 살펴보면 다음과 같다.

more..

■ /tmp
디렉터리 이름에서도 알 수 있듯이 임시 파일들을 위한 디렉터리이다.

■ /root
시스템 관리자의 홈 디렉터리이다.



'Basic Security > _System' 카테고리의 다른 글

[Linux] .vimrc 설정  (0) 2007.01.16
[Linux] 리눅스 root 패스워드 분실시  (2) 2007.01.16
[Linux] 리눅스의 디렉터리 구조 및 기능  (0) 2007.01.12
[Linux] 리눅스 부팅순서  (0) 2007.01.11
[Linux] 리눅스의 구조  (0) 2007.01.11
[Linux] 리눅스의 역사  (0) 2007.01.11
Posted by Proneer

댓글을 달아 주세요


티스토리 툴바