새소식

languages/Linux

[Linux] 리눅스: 파일 시스템 구조

  • -

파일 시스템 구조

파일 시스템

사용자가 볼 수 있는 자료는 모두 하드디스크에 존재한다. 하드디스크 자료의 논리적 구조가 파일 시스템이다.

 

UNIX/Linux의 파일 시스템

UNIX와 Linux의 파일 시스템은 트리 구조이다. (/는 root)

트리 구조

파일(File): 보조 저장 매체에 존재하는 정보의 논리적 저장 단위

디렉터리(Directory): 많은 파일의 논리적 집합=파일의 목록이며, UNIX에서는 디렉터리도 하나의 파일로 취급한다.

경로(Path)

  • 절대경로: /(root)로부터의 경로로, 시스템 전체에서 유일무이한 이름의 역할이다.
  • 상대경로: 현재 위치로부터의 경로를 나타낸다.
/ 루트
. 현재 디렉터리
.. 부모 디렉터리
- 홈 디렉터리(로그인 시 위치)

 

UNIX/Linux 파일 시스템 구조의 관습적 표준을 몇 가지 나열해보자.

/boot 부팅에 필요한 모든 파일
/bin 핵심적은 사용자 명령(binary) 프로그램 파일
/dev 장치 파일, 하드 디스크, 터미널, 주변 장치 등과의 연결 역할
/etc 텍스트로 된 설정 파일 (실행 파일은 올 수 없다)
/home 각 사용자별 저장 공간 (로그인 시 시작 위치)
/lib 핵심적인 공유 라이브러리와 커널 모듈
/root 시스템 관리자(root)의 홈 디렉터리
/usr/bin 거의 모든 사용자 명령 프로그램
/sys 하드웨어 및 장치 드라이버, 커널 하위 시스템 등에 대한 정보를 제공하는 가상 파일 시스템 (시스템 운영 중에만 존재)
/tmp 임시 파일용 디렉터리, 시스템과 사용자 관계 없이 임시 파일들을 저장할 수 있는 공간, 예고 없이 삭제 가능

파일의 속성

파일을 관리할 땐 파일의 메타 정보(이름, 소유자, 생성일자, 크기, 접근권한 등)도 관리해야 한다.


파일의 형식

 

권한 속성

파일의 권한은 소유자, 그룹, 전체 사용자로 구분하며 권한에는 읽기/쓰기/실행, 만들기/삭제/접근이 있다.

 

일반 파일

텍스트 파일을 비롯하여 응용 프로그램에 따라 다양한 형식의 파일이 존재한다. 일반 파일들은 이름이나 확장자로 구분하지 않는다.

 

특수 파일

시스템의 다른 자원을 파일로 취급한다. 예시는 아래와 같다.

directory 여러 파일의 논리적 집합 단위로 계층 구조를 형성한다.
symbolic link 다른 파일에 대한 참조를 표시한다. (파일을 찾아갈 수 있는 경로 정보 저장)
named pipe 실행 중인 프로세스 간에 정보를 전달하는 통로이다. 단방향이며 표준입출력을 연결한다.
socket 프로세스 간 정보 교환을 위한 통로이며 양방향 정보 전달을 수행한다.
device 하드웨어 장치이며 character형과 block형으로 구분한다.

 

디렉터리

파일의 고유 번호와 이름을 기록한다. 이때 자신(.)과 부모(..)는 반드시 포함하며, 디렉터리의 내용은 시스템이 수정/관리한다. 사용자는 디렉터리를 생성/삭제/접근하는 것이 가능하다.

 

링크

하나의 파일 실체에 대해 여러 개의 접근 경로가 가능하다. 

  • hard link: 새로운 이름(절대경로)과 파일 실체를 연결한다.
  • soft(symbolic) link: 새로운 파일을 만들어 경로 정보를 저장한다.

장치

주변 장치를 사용하기 위한 인터페이스 역할을 한다. 내용이 없기 때문에 크기는 0이다. 주로 /dev에 있으며 장치 탈부착 시 자동으로 생성/삭제된다. 장치의 종류는 아래와 같다.

  • character: 스트리밍 방식 입출력 (프린터, 터미널 등)
  • block: 임의 접근 가능 (하드 디스크, CD-ROM 등)

파티션

물리적 장치의 논리적 분할이며, m:n의 대응 관계가 가능하다. (즉 하나의 장치에 여러 개 파티션, 여러 개 장치를 묶어 하나의 파티션에 대응하는 것이 가능하다.)

한 파티션마다 하나의 논리적 파일 시스템으로 관리하며, 가상 파일 시스템에 대한 마운트 단위가 된다. 

 

디스크 도구

하드 디스크 정보와 파티션을 관리한다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.