Linux/System Programming

리눅스 파일 시스템

Ohjeonghak 2013. 7. 21. 22:13
반응형

Linux File System


-리눅스 시스템 프로그래밍을 하기 위해서는 우선 리눅스의 파일과 파일시스템에 대해 알 필요가 있다.

리눅스에서 거의 모든 장치와 자료의 처리 단위는 파일이므로 특히 중요하다.

  우선 파일과 디렉토리에 대한 개념을 설명하겠다. 파일은 컴퓨터에서 자료를 저장하는 논리적인 기본 단위인데, 내용 뿐만 아니라 이름, 속성 등의 정보를 함께 가지고 있다. 이러한 속성 정보는 시스템 내부적으로 아이노드(inode)라는 블록에 저장된다.

  디렉토리는 이러한 파일들을 묶어서 저장하여 관리하는 하나의 특수한 파일이라고 볼 수 있다. 디렉토리는 하위 디렉토리(subdirectory)를 포함 할 수 있다.

  리눅스의 파일시스템은 이러한 파일과 디렉토리들이 계층적으로 구성된 구조를 가지고 있다. 이런 계층 구조는 MS DOS나 NTFS 등과 유하사지만, 하나의 루트(root) 디렉토리만을 가지는 단일한 파일 시스템이다.



  리눅스의 루트 디렉토리의 바로 아래층 디렉토리들은 특별한 의미를 가진다. 이것은 리눅스 파일 시스템의 표준 경로를 정의한 FHS(Filesystem Hierarchy Standard)에서찾아볼 수 있다.


디렉토리

설        명 

/bin

 ls, mount, rm 등과 같은 기본적인 리눅스 명령어들이 위치함.

/boot 

리눅스 커널, 부트로더 설정 파일 등 과 같이 시스템을 초기화하는 데 필요한 파일들이 위치함. 

/dev 

리눅스에서 하드웨어 장치들을 대신하는 디바이스 파일들이 위치함. 

/etc 

시스템의 모양과 동작을 결정하는 각종 시스템 설정 파일들이 위치함. 

/home 

여러 사용자들의 홈 디렉토리들이 위치함 .

/lib 

 중요한 동적/공유 라이브러리와 커널 모듈들이 위치함.

/media 

외장하드, 플로피, CD, DVD와 같은 외부장치가 자동으로 마운트되는 위치. 

/mnt 

네트워크 파일 시스템과 같은 임시 마운트 장치를 위한 마운트 위치. 

/opt 

시스템에 옵션으로 추가하는 패키지들을 저장하는 데 사용됨.

(패키지 매니저가 관리하지 않는다.) 

/proc 

커널이 프로세스에게 정보를 전달할 수 있도록 만들어진 가상 파일시스템. 

/root 

시스템 관리자인 수퍼유저의 홈 디렉토리. 

/sbin 

수퍼유저가 사용할 수 있는 중요한 관리 명령어들이 위치함. 

/srv 

HTTP(/srv/www/) 또는 FTP와 같은 서비스들의 데이터 디렉토리가 위치함. 

/sys 

커널 관정에서 시스템에 대한 정보를 획득하거나 설정할 수 있는 가상 파일시스템. 

/tmp 

 응용 프로그램이 사용하는 임시 파일들이 위치함.

/usr 

 대부분의 유틸리티, 응용프로그램 및 설정파일, 라이브러리 등이 위치함.

(/usr/bin : 응용 프로그램, /usr/lib : 라이브러리,

 /usr/share : 각종 관련 자원 파일, /usr/local : 기타 추가 설치 파일)

/var 

 빠르게 갱신되거나 변화하는 가변 데이터들이 위치함.

(/var/log : 시스템 로그파일들, /var/mail : 메일, /var/www : 웹서버 파일 ...)


반응형

'Linux > System Programming' 카테고리의 다른 글

ls 명령어 구현.  (4) 2013.07.14