반응형

이번에는 리눅스 폴더 구조에 대해서 알아보는 시간을 갖고자 합니다.


리눅스 폴더는 기본적으로 역 Tree 구조로 되어 있습니다. 


root (/)라고 하는 파일시스템에 Tree 형태로 구조화되어 있습니다. 


리눅스는 기본적으로 모든 자원 (프로세스, 하드웨어, 네트워크 등등)을 파일로서 다루기 때문에 


기본적인 디렉토리 구조를 알고 있다면 추후 리눅스 관련 업무를 하는데 도움이 될 수 있다 생각합니다.


(PS. 물론 시간이 ... 약이기는 하죠)


그렇다면 기본적인 폴더 구조를 보고 각각의 폴더가 어떤 역할을 하는지 알아보도록 하겠습니다


root@choi:/# tree -L 1 -d

.

├── bin

├── boot

├── cdrom

├── dev

├── etc

├── home

├── lib

├── lib64

├── lost+found

├── media

├── mnt

├── opt

├── proc

├── root

├── run

├── sbin

├── snap

├── srv

├── sys

├── tmp

├── usr

└── var

 


지금 보시는 내용은 tree 라는 명령어를 이용해서 제가 사용하는 폴더 구조를 보고 계십니다. 일단 중요한 내용 부터 시작해서 각각의 폴더 역할에 대해서 알아보도록 하겠습니다.


1) proc 

가상 파일 시스템입니다. 이 디렉토리의 내용들은 시스템에서 운영되고 있는 다양한 프로세서들에 대한 내용과 프로그램에 대한 정보를 포함 하고 있습니다. 이 디렉토리에서 볼수 있는 내용은 실제 드라이브에는 저장되어 있지 않고 메모리 상에 저장되어 있습니다. 또한 다양한 정보 (CPU, Memory, Disk 등등)를 포함하고 있습니다.


2) sbin

시스템 관리를 위한 전반적인 실행 유틸리티를 담고 있습니다. 이 디렉토리에 있는 명령어들은 매우 위험도가 높기 때문에 일반사용자는 사용할 수 없으며 오직 root 권한만 실행 가능합니다.


3) bin

기본적인 실행 파일(ls, cat, echo ...)들이 모여있습니다. 


4) dev

디바이스 드라이버들이 모여 있습니다. 이것들은 시스템 디바이스나 자원들을 접근하는데 사용합니다


5) etc 

시스템의 부팅, 셧다운시에 필요한 파일들과 시스템 전반에 걸친 설정 파일, 초기 스크립트 파일, 일부 애플리케이션의 설정 파일들이 있는 디렉토리 입니다.  시스템 전체 환경에 관한 설정을 바꾸기 위해서 이 디렉토리에 대한 이해가 필수적으로 필요합니다 

(* 추후 심화 Reporting)


6) sys

proc 과 유사한 가상파일 시스템입니다. 이 부분은 초기 리눅스에서는 없었으나 커널이 점점 커지고 내용이 많아지면서 등장하게 되었습니다. 기본적으로는 시스템 전반을 모니터링 하고 일부 커널 파라미터의 설정을 바꾸기위해 사용 됩니다.


7) boot 

환경 설정 파일을 제외한 부팅과정에서 필요한 모든 구성요소들이 포함 되어 있습니다. (UEFI 모드)


8) lib/lib64

부팅과 시스템 운영에 필요한 공유 라이브러리와 커널 모듈이 위치합니다.


반응형

+ Recent posts