Embedded : : Linux/: : Linux

리눅스의 디렉터리 구조

Jay.P Morgan 2024. 10. 7. 19:53

 

  리눅스의 디렉터리 구조

 

 

  arch

  arch 하부 디렉터리에는 아키텍처별로 동작하는 커널 코드가 있습니다.

  Ÿ arm: 32비트 계열 ARM 아키텍처 코드가 있으며, 라즈비안도 하부 디렉터리 코드를 실행합니다.

  Ÿ arm64: 64비트 계열 ARM 아키텍처 코드가 있습니다.

  Ÿ x86: 폴더 이름과 같이 인텔 x86 아키텍처 코드가 있습니다.

 

  /bin

  ​일반 사용자 및 관리자가 사용하는 명령어의 실행파일이 배치되어있는 디렉터리입니다.
  특히 시스템과 관련된 중요한 명령어를 포함하고 있습니다.

 

 

  /dev

  디파이스 파일이 배치되어있는 디렉터리입니다. 디바이스 파일이란 디스크나 키보드 등 하드웨어를 다루기 위한 특수파일입니다.​
 
 
 

  drivers

  모든 시스템의 디바이스 드라이버 코드가 있습니다. 하부 디렉터리에 드라이버 종류별 소스가 들어있습니다.
 
 
 

  Documentation

  커널 기술문서가 있는 폴더로, 커널 시스템에 대한 기본 동작을 설명하는 문서를 찾을 수 있습니다.
  커널 개발자를 대상으로 작성된 문서이므로, 커널에 대한 기본지식이 없으면 다소 어려울 수 있습니다. 
 
 

  /etc

  리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일이 /etc 하위에 배치됩니다.
  또한, 리눅스 자체 설정 파일도 여기에 있습니다. 리눅스를 운영하고 관리할 시 무척 중요한 디렉터리입니다.
 
 

  fs

  모든 파일시스템 코드가 담긴 폴더입니다.
  fs 폴더에 있는 파일에는 파일시스템 공통 함수가 들어있고, 파일 시스템별로 하나씩 세분화된 폴더를 볼 수 있습니다.
 
 

  home

  사용자별로 할당되는 개인용 디렉터리인 홈 디렉터리가 배치되는 디렉터리입니다.
  사용자 이름이 디렉터리 이름으로 사용됩니다.
 
 
 

  include

  include에는 커널 코드 빌드에 필요한 헤더 파일이 있습니다.

  kernel

  커널의 핵심 코드가 있는 디렉터리로, 다음과 같은 하위 디렉터리를 확인할 있습니다.

  Ÿ irq: 인터럽트 관련 코드

  Ÿ sched: 스케줄링 코드

  Ÿ power: 커널 파워 매니지먼트 코드

  Ÿ locking: 커널 동기화 관련 코드

  Ÿ printk: 커널 콘솔 관련 코드

  Ÿ trace: frace 관련 코드

디렉터리에는 아키텍처와 무관한 커널 공통 코드가 있으며, 아키텍처별로 동작하는 커널 코드는 arch/*/kernel/ 있습니다. 라즈비안의 경우 ARMv7 아키텍처 관련 코드를 arch/arm/kernel/에서 확인할 있습니다.

 

  mm

​  Memory Management 약자로 가상 메모리 페이징 관련 코드가 들어 있습니다.

  아키텍처별로 동작하는 메모리 관리 코드는 arch/*/mm/ 아래에 있습니다. 라즈비안의 경우 ARMv7 아키텍처 관련 코드를 arch/arm/mm/에서 확인할 있습니다.

 

  lib

 lib 디렉터리에는 커널에서 제공하는 라이브러리 코드가 있습니다. 아키텍처에 종속적인 라이브러리 코드는 arch/*/lib/ 있습니다.

 

 

  /sbin

​  /bin와 비슷하게 실행 파일을 포함하는 디렉터리 입니다. 하지만, 여기에는 관리자용 명령어가 포함되어있습니다.
(ex. shutdown)
 
 
 

  /tmp

  임시 파일이 들어있는 디렉터리입니다. 애플리케이션 실행 중 임시로 작업 결과를 파일로 보존할 때 보통 이 디렉터리에 저장합니다.
 
 
 

  /usr

  설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등이 이 디렉터리에 포함됩니다.
  /usr 아래에는 bin, sbin, etc 등이 있어 루트 디렉터리와 구조가 비슷합니다.
 
 
 

  /var

  애플리케이션 실행 중에 만들어진 데이터나 로그, 메일 등이 이곳에 저장됩니다.
  /var에는 많은 파일이 기록되므로 용량이 부족해질 수도 있으니 시스템 관리 시 주의해야 합니다.