리눅스 - 파일 종류

코린이·2024년 11월 17일

Linux

목록 보기
13/27

📌 리눅스 - 파일 종류

리눅스에서 사용되는 파일은 다양한 종류로 나뉘며, 각 파일은 사용 용도와 구조 그리고 접근 방법이 다르다.

✅ 일반 파일(Regular File)

일반 파일(Regular File)은 리눅스에서 일반적으로 가장 많이 사용되는 파일의 종류로 텍스트 파일, 이미지 파일, 코드 파일, 로그 파일 등이 여기에 포함된다.

  • file.txt (일반적인 텍스트 및 문서 데이터 파일)
  • image.png ( .jpg, .gif 등의 형식을 가질 수 있다)
  • code.java ( .py, .sh 등의 형식을 가질 수 있다)
  • syslog.log (시스템의 기록을 담는 파일)

일반 파일의 심볼은 '-'이다.


✅ 디렉토리 파일(Directory File)

디렉토리 파일(Directory File)은 리눅스에서 일반 파일 다음으로 많이 사용되는 파일이며, 디렉토리 파일 내부에 다른 파일(디렉토리의 하위 파일)을 포함할 수 있는 특징이 있다.

디렉토리 파일 자체에는 실제 데이터가 없고, 파일의 위치(경로) 정보로 구성되어 있다.

  • /home/user/
  • /tmp/

디렉토리 파일의 심볼은 'd'이다.


심볼릭 링크 파일(Symbolic Link File)은 다른 파일에 대한 간접적인 경로를 제공하는 파일이다. 이는 윈도우의 바로가기 기능과 비슷하다.

심볼릭 링크 파일은 원본 파일의 경로를 참조하여 제공하는 경로 기반의 링크 파일이다. 만약 참조된 경로가 삭제되면 링크는 깨진 링크가 된다.

# 심볼릭 링크 파일 생성
ln -s /usr/bin bin

# 심볼릭 링크 파일
bin -> /usr/bin

심볼릭 링크 파일의 심볼은 'l'이다.

하드 링크 파일(Hard Link File)은 파일 시스템에서 같은 파일을 여러 경로로 접근할 수 있게 해주는 파일이다.

하드 링크는 파일의 물리적 저장 위치(inode)에 대해 새로운 경로를 추가하는 방식으로 파일 내용이 저장된 실제 저장 위치에 대해 여러 파일 이름을 부여하는 방식이다.

하드 링크 방식의 파일은 원본 파일과 구분되지 않는다. 즉, 파일의 이름만 다를 뿐 실제 하나의 같은 파일을 참조하는 셈이다.

심볼릭 링크는 경로만을 참조하여 공유하는 방식이지만, 하드 링크는 파일 내용 자체를 공유하는 방식이다.

원본 파일이 삭제되더라도 하드 링크를 통해 계속 파일에 접근할 수 있다. (원본 파일을 삭제해도 하드 링크 파일이 있으면 원본 데이터는 삭제되지 않는다.)

# 하드 링크 파일(hardlink.txt) 생성
ln original.txt hardlink.txt

하드 링크 파일의 심볼은 '-'이다.


✅ 장치 파일(Device File)

장치 파일(Device File)은 리눅스에서 하드웨어 장치 또는 가상 장치와 상호작용을 하는 데 사용되는 특별한 종류의 파일이다.

장치 파일은 하드웨어 장치와 연결되어 추상적인 인터페이스로 운영체제가 하드웨어와 통신할 수 있도록 하는 역할을 한다.

리눅스에서 장치 파일은 일반적으로 /dev 디렉토리에 위치하며, 두 가지 유형으로 나뉜다.

▶︎ 문자 장치 파일(Character Device File)

문자 장치 파일(Character Device File)은 키보드, 마우스, 직렬 포트와 같은 데이터를 바이트 단위의 스트림으로 처리하는 장치이다.

문자 장치 파일의 심볼은 'c'이다.

▶︎ 블록 장치 파일(Block Device File)

블록 장치 파일(Block Device File)은 HDD, SSD, USB 드라이브 등의 저장 장치를 블록 단위로 처리하는 장치이다.

블록 장치 파일의 심볼은 'b'이다.


✅ 네임드 파이프(Named Pipe)

네임드 파이프(Named Pipe)는 FIFO(선입선출) 방식으로 데이터를 전달하는 특별한 종류의 파일이다.

네임드 파이프를 사용하면 파일을 인터페이스로 사용하여 프로세스 간 데이터 통신을 할 수 있다.

네임드 파이프의 심볼은 'p'이다.


✅ 소켓 파일(Socket File)

소켓 파일(Socket File)은 프로세스 간 통신에 사용되는 파일로, 네트워크 프로토콜을 통해 프로세스 간 데이터 교환이 가능하다.

소켓 파일은 일반적으로 /tmp 또는 /var/run 디렉토리에 위치한다.

소켓 파일의 심볼은 's'이다.

0개의 댓글