본문 바로가기

--Kloong--/Linux Master

Linux Master 2 - 리눅스의 개요(2) 디렉터리 구조

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

요호 하루만에 돌아온 Kloong입니다

오늘은 리눅스의 디렉터리 구조에 대해서 알아보겠습니다.

시작!


리눅스의 디렉터리 구조

리눅스에서 디렉터리 구조는 아주 유용합니다.

설정 파일 위치나 명령어 위치 찾을 때 디렉터리 구조에 대해서 알아두면 어디에 있는지 추측이 가능하거든요

서버 구축 하면서 만져야할 파일들이 수도없이 많을텐데 그걸 언제 다 외우고 있겠어요.

리눅스의 디렉터리 구조는 트리 구조 형태를 띄고 있습니다.


이렇게 최상위 디렉터리인 /(root 디렉터리) 밑에 여러 디렉터리들이 가지를 치듯이 뻗어나가는 형태입니다.

이제 하나하나 설명 들어가죠.


 

최상위 디렉터리입니다. 모든 디렉터리의 뿌리(근원)가 된다고 해서 root 디렉터리 라고도 합니다.

 └/bin 

binary 의 약자인 듯 합니다. 기본 실행 파일들, 즉 사용자의 명령어들이 들어있습니다.

 └/boot

시스템이 부팅될 때 필요한 파일들이 들어있습니다.

 └/dev

device의 약자겠네요. 하드 디스크, CD-ROM 등의 장치 파일들을 모아놓은 디렉터리 입니다.

 └/etc

시스템 설정 파일들이 있습니다.

 └/home

사용자 계정의 홈 디렉터리가 위치하는 디렉터리 입니다. 예를 들어 kloong 사용자의 홈 디렉터리 위치는 /home/kloong 인거죠. 루트 사용자의 홈 디렉터리는 이곳에 위치해있지 않고 /root에 위치 합니다.

 └/lib

library의 약자같네요. 각종 라이브러리가 저장되어있다고 합니다. 여기서 말하는 라이브러리는 프로그래밍에서 함수들을 모아놓은 그 라이브러리랑 비슷한 개념인 것 같네요. 커널 모듈도 이 곳에 있다고 합니다.

 └/lost+found

파일 시스템 복구를 위한 디렉터리라고 하네요.

 └/mnt

마운트 될 파일 시스템의 마운트 포인터(마운트 될 위치)가 되는 디렉터리들이 이 디렉터리 안에 있다고 합니다. 장치가 연결되면 /mnt 안에 있는 해당 디렉터리에 위치합니다. /mnt/cdrom 이런 식으로 말이죠. 

 └/opt

추가된 응용 프로그램 패키지가 설치되는 디렉터리 입니다. 사용자가 추가로 패키지를 설치하면 여기에  설치되는 것 같네요. 

 └/proc 

시스템 관리를 목적으로 메모리상에 만들어놓은 가상 디렉터리라고 합니다. 기본적으로 /proc는 커널이 가지고 있는 여러가지 데이터 구조를 시스템 관리자에게 쉽게 전달하기 위해서 사용하는 목적으로 만들어져 있다고 합니다. /proc 를 통해서 좀더 쉽게 각종 시스템 정보를 얻어올 수 있고, 여러 가지 커널 관련 옵션을 특별한 프로그래밍 과정없이 단지 /proc 내부 파일의 수정을 통해서 쉽게 변경할수 있다고 하네요. 뭐하는 디렉터리인지 몰랐는데 굉장히 중요한 디렉터리네요.

 └/root

루트 사용자의 홈 디렉터리입니다. 다른 일반 사용자들은 이 디렉터리에 접근할 수 없습니다.

 └/sbin

시스템 점검 및 복구 명령, 네트워크 인터페이스 설정 명령, 시스템 시작 및 종료 명령, 커널 모듈 등 시스템 관리에 관련된 실행 파일들이 들어있다고 합니다. 그러면 sbin은 system binary 인 것 같네요

 └/tmp

각 장치에 필요한 socket이 위치합니다. 시스템에 필요한 임시 파일 - temporary 의 약자인 것 같네요 -  들을 만들고 삭제하는 디렉터리입니다. socket이 뭔지 잘 모르겠네요;

 └/usr

시스템이 정상적으로 가동되는데 필요한 모든 명령라이브러리, 메뉴얼 페이지가 있습니다. 

  └/usr/bin

/bin에 없는 유용한 실행 파일들이 위치해 있습니다.

  └/usr/include

C 언어의 헤더 파일들을 보관하고 있는 디렉터리입니다.   

  └/usr/src

시스템에 있는 다양한 프로그램들의 컴파일이 되지 않은 소스 코드들이 있는 디렉터리입니다. /usr/src/linux 에는 커널의 소스 코드가 있다고 하네요.

  └/usr/man

man [명령어] 를 사용하면 나오는 해당 명령어에 대한 설명 파일이 있는 곳입니다.

 └/var

자료 데이터가 변경될 때 저장되는 디렉터리라고 합니다. 시스템의 작동 로그들과 네트워크,보안 관련  로그 등 각종 로그 파일이 저장되는 디렉터리입니다.


후와 설명 덧붙이니 예상외로 내용이 되게 많네요

오늘은 여기서 마치겠습니다