클라우드 아카이브

[리눅스] 파일의 종류 본문

OS 및 스토리지/Linux

[리눅스] 파일의 종류

Cloud Engineer 2021. 8. 29. 10:11

개요

윈도우에서는 exe 파일, txt 파일, png 파일 등 다양한 종류의 파일을 지원합니다. 반면에 리눅스는 파일이 다양하게 나누어져 있는게 아닌, 서버 운영에 특화된 목적으로 파일을 구분합니다. 이번 포스팅에서는 이러한 특수 목적을 가진 리눅스의 파일들에 대해 알아보는 시간을 갖겠습니다.

파일의 정의

위키에 컴퓨터 파일을 검색해보시면 아래와 같은 정의를 볼 수 있습니다.

컴퓨터 등의 기기에서 의미있는 정보를 담는 논리적인 단위 (출처 : 위키백과)

그렇다면 리눅스에서는 이러한 파일을 어떻게 구분을 할까요?

리눅스는 아래와 같이 파일을 구분하고 하고있습니다. 아래 글을 보시기 전에 특수 목적의 파일은 깊게 알 필요가 없으며 그냥 이러한 파일이 있다는 정도로만 이해하고 넘어가셔도 좋을 것 같습니다.

목적 분류 파일 종류 설명
일반 목적 일반 파일 - 서버에서 흔히 볼 수 있는 그 일반 파일
- touch와 같은 명령어를 통해 파일 생성이 가능
- 동영상 파일, 압축 파일, 텍스트 파일 등이 이에 해당
디렉터리 - 계층 구조에 따라 여러 개의 파일을 저장하는 공간을 제공해주는 파일
- mkdir과 같은 명령어를 통해 디렉터리 생성이 가능
- 윈도우의 폴더와 같은 개념
심볼릭 링크 파일 - 특정 파일을 가리키는 파일
- 윈도우의 바로가기와 같은 개념
하드 링크 파일 - 1개 이상의 링크가 실제 파일을 가리키는 파일
- 설명이 어려우니 아래의 사진을 보면 직관적으로 이해가 됨

출처 : 위키백과 
특수 목적 디바이스 파일 - 하드웨어 단에 있는 특정 물리적인 디바이스를 정형화된 인터페이스를 통해 접근할 수 있도록 해주는
   파일
- 아래 그림에서 볼 수 있듯이 디바이스 파일은 커널 수준에서 동작하며 사용자는 DDI를 통해 디바이스
   파일에 접근하여 장치를 관리할 수 있음

출처 : 리눅스 디바이스 드라이버 프로그래밍

- 예를 들어, 사용자가 마우스를 클릭할 때(task), 커널에서 system call interface를 통해 VFS 파일
  시스템(File system)을 이용하여 DDI로 접근하며, 특정 드라이버를 이용하여 mouse라는 디바이스
  를 이용할 수 있습니다.
- 자세한 내용은 리눅스 디바이스 드라이버 프로그래밍에 나와있으니 참고 부탁드립니다.
파이프 파일 - 프로세스 간 통신(IPC)을 나타내는 파일
  (OSI Layer 4에서 동작하는 프로세스가 맞음)

출처 : 리눅스 파이프 관련 블로그

- 즉 프로세스 간 통신을 위해 생성된 통로(파이프)가 리눅스 어딘가에 저장되어 있음
소켓 - 프로세스 간 통신에서 종점(endpoint) 역할을 하는 파일

마무리

간략하게 리눅스에서 사용하게 되는 파일의 종류에 대해 알아봤습니다. 서버를 운영하면서 서버를 구성하는 모든걸 다 알 필요는 없지만, 기본적인 내용 정도는 숙지해야 한다고 생각하여 포스팅을 만들었습니다. 운영자가 필수적으로 알아야할 개념은 일반 목적의 파일이라고 생각하며 특수 목적의 파일은 기본 개념만 알고 있어도 좋을 것 같습니다.

Comments