일반파일
일반 파일은 데이터, 텍스트 또는 프로그램 명령어가 포함된 시스템의 파일입니다.
- 작성한 텍스트나 그린 이미지와 같은 정보를 저장하는 데 사용됩니다. 이는 일반적으로 작업하는 파일 유형입니다.
- 항상 디렉토리 파일 내부/아래에 위치합니다.
- 다른 파일을 포함하지 마세요.
- ls -l의 긴 형식 출력에서 이 유형의 파일은 "-" 기호로 지정됩니다.
디렉토리
디렉토리는 특수 파일과 일반 파일을 모두 저장합니다.
Windows 또는 Mac OS에 익숙한 사용자의 경우 UNIX 디렉토리는
폴더와 동일합니다.
디렉토리 파일에는 모든 파일과 하위 디렉토리에 대한 항목이 들어 있습니다.
디렉토리에 파일이 10개 있는 경우 디렉토리에 항목이 10개 있습니다.
각 항목에는 두 가지 구성 요소가 있습니다.
(1) 파일 이름 (2) 파일 또는 디렉토리의 고유 식별 번호(inode 번호라고 함)
- 계층적 트리의 분기점.
- 파일 그룹을 구성하는 데 사용됩니다.
- 일반 파일, 특수 파일 또는 다른 디렉토리를 포함할 수 있습니다.
- 작업할 "실제" 정보(예: 텍스트)를 절대 포함하지 마십시오. 기본적으로 파일을 정리하는 데 사용됩니다.
- 모든 파일은 트리 맨 위에 있는 루트 디렉토리(/)의 자손입니다.
ls –l의 긴 형식 출력에서 이 유형의 파일은 "d" 기호로 지정됩니다.
특수 파일
프린터, 테이프 드라이브 또는 터미널과 같은 실제 물리적 장치를 나타내는 데
사용되며 입출력(I/O) 작업에 사용됩니다.
장치 또는 특수 파일은 UNIX 및 Linux 시스템에서 장치 입출력(I/O)에 사용됩니다.
이들은 일반 파일이나 디렉토리와 마찬가지로 파일 시스템에 나타납니다.
UNIX 시스템에는 각 장치에 대한 두 가지 특수 파일, 문자 특수 파일 및
블록 특수 파일이 있습니다.
- 문자 특수 파일이 장치 입출력(I/O)에 사용될 때 데이터는 한 번에 한 문자씩 전송됩니다. 이러한 유형의 액세스를 원시 장치 액세스라고 합니다.
- 블록 특수 파일이 장치 입출력(I/O)에 사용될 때, 데이터는 큰 고정 크기 블록으로 전송됩니다. 이러한 유형의 액세스를 블록 장치 액세스라고 합니다.
터미널 장치의 경우 한 번에 한 문자입니다.
그러나 디스크 장치의 경우 원시 액세스는 전체 데이터 청크(블록)를 읽거나 쓰는
것을 의미하며, 이는 디스크에 기본으로 제공됩니다.
- ls -l의 긴 형식 출력에서 문자 특수 파일은 "c" 기호로 표시됩니다.
- ls -l의 긴 형식 출력에서 블록 특수 파일은 "b" 기호로 표시됩니다.
파이프
UNIX에서는 파이프를 사용하여 명령을 서로 연결할 수 있습니다.
파이프는 한 명령의 데이터를 다른 명령에서 읽을 때까지 보관하기 위해 존재하는
임시 파일 역할을 합니다.
Unix 파이프는 단방향 데이터 흐름을 제공합니다.
첫 번째 명령 시퀀스의 출력 또는 결과는 두 번째 명령 시퀀스의 입력으로 사용됩니다. 파이프를 만들려면 두 명령 사이의 명령줄에 세로 막대(|)를 넣습니다.
예: who | wc -l ls –l의 긴 형식 출력에서 명명된 파이프는 "p" 기호로 표시됩니다.
소켓
Unix 소켓(또는 프로세스 간 통신 소켓)은 고급 프로세스 간 통신을 허용하는
특수 파일입니다.
Unix 소켓은 클라이언트-서버 애플리케이션 프레임워크에서 사용됩니다.
본질적으로 네트워크 스트림(및 네트워크 소켓)과 매우 유사한 데이터 스트림이지만
모든 트랜잭션은 파일 시스템에 로컬입니다.
ls -l의 긴 형식 출력에서 Unix 소켓은 "s" 기호로 표시됩니다.
심볼릭 링크
심볼릭 링크는 파일 시스템의 다른 파일을 참조하는 데 사용됩니다.
심볼릭 링크는 소프트 링크라고도 합니다.
참조하는 파일에 대한 경로의 텍스트 형식이 포함되어 있습니다.
최종 사용자에게 심볼릭 링크는 고유한 이름을 가진 것처럼 보이지만 이 파일에
데이터를 읽거나 쓰려고 하면 대신 해당 작업을 가리키는 파일에 참조합니다.
소프트 링크 자체를 삭제해도 데이터 파일은 그대로 있습니다.
소스 파일을 삭제하거나 다른 위치로 이동하면 심볼릭 파일이 제대로
작동하지 않습니다.
ls –l의 긴 형식 출력에서 심볼릭 링크는 "l" 기호(소문자 L)로 표시됩니다.
장점과 단점
Unix 파일 시스템의 장점
- 계층적 구성: 유닉스 파일 시스템의 계층적 구조는 파일과 디렉토리를 쉽게 구성하고 탐색할 수 있게 해줍니다.
- 견고성: Unix 파일 시스템은 안정성과 신뢰성으로 유명합니다. 불안정해지거나 충돌하지 않고도 대량의 데이터를 처리할 수 있습니다.
- 보안: Unix 파일 시스템은 관리자가 파일과 디렉토리에 누가 접근할 수 있는지 제어할 수 있는 권한 집합을 사용합니다.
- 호환성: Unix 파일 시스템은 널리 사용되고 지원되므로 서로 다른 Unix 기반 시스템 간에 파일을 쉽게 전송할 수 있습니다.
Unix 파일 시스템의 단점
- 복잡성: Unix 파일 시스템은 이해하고 관리하는 것이 복잡할 수 있으며, 특히 명령줄 인터페이스에 익숙하지 않은 사용자에게는 더욱 그렇습니다.
- 가파른 학습 곡선: 유닉스 기반 시스템에 익숙하지 않은 사용자는 유닉스 파일 시스템을 사용하는 방법을 배우는 데 어려움을 겪을 수 있습니다.
- 사용자 친화적인 인터페이스 부족: Unix 파일 시스템은 주로 명령줄 인터페이스를 통해 관리되므로 그래픽 사용자 인터페이스만큼 사용자 친화적이지 않을 수 있습니다.
- 특정 파일 시스템에 대한 제한된 지원: Unix 파일 시스템은 많은 파일 시스템과 호환되지만, 완전히 지원되지 않는 파일 시스템도 있습니다.