홈 > IT > IT정보
IT정보

리눅스 디렉토리 구조

리눅스 디렉토리 구조


리눅스에서 디렉토리 구조를 살펴보기 위해 tree 명령어를 사용해 level 값을 1로 주어 디렉토리를 살펴보았다.

결과는 다음과 같다. 이 중 주요한 디렉토리들을 간략하게 추려 정리해보았다.

edf10c4eed92a12100233d27ded2317a_1518259109_1631.PNG


디렉토리

- 리눅스는 디렉토리(directory), 윈도우는 폴더(folder)라고 부른다.

- 리눅스는 디렉토리를 구분하기 위해 /(슬래시)를 사용하며, 윈도우는 \(역슬래시)를 사용한다.

- 리눅스 디렉토리는 역 트리 구조를 하고 있다.

- 명령어의 종류, 사용권한에 따라 디렉토리를 구분한다.

- '리눅스 파일시스템 표준(FSSTND - Linux File System Standard)'이 존재한다. 대부분의 리눅스 배포판은 이 표준을 따르기 때문에, 디렉토리 구조가 비슷하다.


/

- 최상위 디렉토리이자 모든 디렉토리의 시작점이다.

- 모든 디렉토리를 절대경로로 표시하고자 한다면, 이 디렉토리부터 시작을 해야 한다.

- 윈도우는 드라이브 문자로 시작하는 것과 다르게 리눅스는 최상위 디렉토리가 / 이므로, 절대경로는 무조건 / 으로 시작하게 된다.

- 윈도우와 다른 또 다른 특징으로는, 메모리는 물론 키보드, 모니터, 프린터 같은 장치들도 파일시스템 상에 디렉토리나 파일 형태로 존재하게 된다.(ex : /dev/sda)


/bin

- binary의 약자로 실행가능한 파일들이 모여있다.

- 기본적인 명령어들이 이 디렉토리에 저장되어있다.

- 흔히 사용하는 ls, cp 등과 같은 명령어들의 실행파일이 이곳에 위치하며, 예를 들어 shell 에서 mv test. test1.c 이렇게 입력하면 이 /bin 디렉토리에서 mv 바이너리를 찾아서 실행한다.

- shell 명령어는 PATH에 등록된 경로를 탐색해서 명령어의 실행파일이 저장된 위치를 찾아가는데, 이 디렉토리의 경로는 PATH 변수에 저장이 되어있다.

- PATH 경로를 확인하려면 echo $PATH 를 이용하여 확인이 가능하다. 나오는 결과물에서 /bin 이 들어가있는 것을 확인해 볼 수 있다면, 경로중에 bin 디렉토리가 등록되어 있는 것이다.


/boot

- 리눅스 이미지 또는 커널, 부트로더(GRUB)와 같은 파일이 들어있다.

- 잘못 건들면 부팅이 되지 않는 참사가 발생한다.

- 다른 디렉토리는 같은 파티션에 놓더라도, 특히 이 디렉토리만은 별도의 파티션을 구성하는것이 일반적이다.


/dev

- 시스템 디바이스(device)파일을 저장하고 있는 디렉토리이다.

- 리눅스 시스템이 모든 시스템 자원들을 파일로 관리한다는 특징이 확연히 드러나는 부분이다.

- 물리적 장치들이 파일 형태로 저장되어 있는 디렉토리이다.

- 예를 들어 /dev/cdrom 은 CD-ROM, /dev/hdx, /dev/sda 는 하드디스크, /dev/ttyn 은 키보드 장치파일을 나타낸다.


/etc

- 시스템 및 설치한 프로그램의 환경설정 및 스크립트 파일이 저장되어 있다.

- 시스템 제어판용 장치파인인 /etc/sysconfig, 사용자 관리 설정파일인 /etc/passwd, DNS 설정파일인 /etc/named.conf 등과 같은 파일이 존재한다.


/home

- 등록된 사용자들의 홈 디렉토리이다. 각각 사용자별로 하위 디렉토리가 생성되게 된다.

- 생성되는 사용자 이름은 대부분 사용자의 ID 와 동일한 이름의 디렉토리가 생성되게 된다.

- 윈도우에서 C:\Document and Settings 폴더와 비슷한 기능을 한다.

- 바탕화면에 늘어놓은 아이콘이나 다운로드 받은 파일이 저장된다.

- 최고관리자의 홈 디렉토리는 이곳이 아닌 별도 위치인 /root 가 된다.


/lib, /lib32, /lib64, /libx32

- 프로그램을 실행할때 동적으로 로드되는 라이브러리 파일들이 저장되어 있다.

- 커널이 필요로 하는 커널모듈파일과 프로그램(c, c++ 등)에 필요한 각종 라이브러리 파일이 존재하는 디렉토리이다.


/media, /mnt

- 파일 시스템이 마운트되는 기본 위치이다.

- 원래 /mnt 만 존재하였으나, 휴대용 메모리 장치들이 많이 사용되면서 /media 라는 디렉토리가 추가되었다.


/opt

- 패키지 형태가 아닌 빌드가 완료된 상태로 배포되는 응용프로그램의 설치 목적으로 사용되는 디렉토리이다.

- 디렉토리 통째로 복사하는 방식으로 설치된 프로그램은 이 디렉토리에 설치가 된다고 보면된다. 윈도우의 Program Files 디렉토리와 용도가 같다.


/proc

- 현재 메모리 상에서 동작중인 프로세스들이 파일 형태로 존재하는 곳이다.

- 커널 부팅과정에서 생성되어 마운트 된다.

- 디스크 상에 실제 존재하지 않고 메모리상에 존재하기 때문에 가상파일시스템이라고도 부른다.

- 실행중인 프로세스들이 파일 형태로 존재하기 때문에, 리눅스가 설치된 장치를 다른 컴퓨터에 연결해서 이 디렉토리를 확인해 보면 아무것도 들어있지 않은 것을 확인해 볼 수 있다. 


/root

- 최고관리자의 홈 디렉토리이다.


/sbin

- system binary의 약자이다.

- root에서만 사용할 수 있는 명령어가 저장되어 있다. (ex : ifconfig, e2fsck, ethtool, halt 등)


/tmp

- 프로세스들이 동작하면서 생성되는 임시파일이 위치하는 디렉토리이다.

- 시스템을 사용하는 모든 사용자들이 공동으로 사용한다. 그래서 '공용 디렉토리'라고도 부른다.

- 기본적으로 시스템의 모든 사용자가 접근할 수 있는 디렉토리 이므로 임시파일을 생성 할 때 주의해야 한다.


/usr

- 시스템 응용 프로그램들이 위치하는 디렉토리이다.

(하위 디렉토리는 첨부파일 내 자세히 설명)


/var

- 여러 프로세스들이 만들어 내는 로그 파일들이 저장되는 디렉토리이다.

- 보통 프로세스 별로 하위 디렉토리가 존재하며, 각각의 로그 디렉토리에 로그 파일을 생성한다.

(하위 디렉토리는 첨부파일 내 자세히 설명)


////////////////////////////////////////////////////////////////////////////

/usr, /var은 첨부파일 내 하위디렉토리를 분류하여 설명을 하였습니다.

추가적으로 사진에는 나오지 않은 /lost+found 를 설명하였습니다.


0 Comments
Category
State
  • 현재 접속자 22 명
  • 오늘 방문자 702 명
  • 어제 방문자 845 명
  • 최대 방문자 948 명
  • 전체 방문자 126,467 명
  • 전체 게시물 1,612 개
  • 전체 댓글수 243 개
  • 전체 회원수 102 명
Facebook Twitter GooglePlus KakaoStory NaverBand