리눅스 파일 유형
IT위키
더 많은 작업
리눅스 파일 유형(Linux file types)은 리눅스가 아이노드의 모드 값으로 구분하는 일곱 가지 파일 종류(일반 파일, 디렉터리, 심볼릭 링크, 문자 장치, 블록 장치, FIFO, 소켓)이다.
| 유형 | ls -l 표시 | 모드 상수 | 설명 | 예 |
|---|---|---|---|---|
| 일반 파일(regular file) | - |
S_IFREG | 텍스트, 실행 파일, 이미지처럼 데이터를 담는 보통의 파일 | /etc/passwd, /bin/ls |
| 디렉터리(directory) | d |
S_IFDIR | 파일 이름과 아이노드 번호의 목록을 담는 파일. 디렉터리 파일이라고도 한다 | /home, /etc |
| 심볼릭 링크(symbolic link) | l |
S_IFLNK | 다른 파일의 경로를 담아 그 파일을 가리키는 파일 | /bin → usr/bin |
| 문자 장치(character device) | c |
S_IFCHR | 바이트 단위로 입출력하는 장치를 나타내는 장치 파일 | /dev/tty, /dev/null |
| 블록 장치(block device) | b |
S_IFBLK | 블록 단위로 버퍼를 거쳐 입출력하는 장치를 나타내는 장치 파일 | /dev/sda |
| FIFO(명명된 파이프) | p |
S_IFIFO | 먼저 쓴 데이터를 먼저 읽는 프로세스 간 통신 통로. 이름이 있어 관계없는 프로세스끼리도 쓸 수 있다. mkfifo 로 만든다 | mkfifo 로 만든 /tmp/myfifo |
| 소켓(socket) | s |
S_IFSOCK | 같은 호스트 안의 프로세스 간 통신에 쓰는 유닉스 도메인 소켓 | /dev/log(syslog 소켓) |
- 장치 파일(문자·블록)은 /dev 아래에 두며 주 번호와 부 번호로 드라이버와 개별 장치를 가리킨다 → 리눅스 장치 파일
- 하드 링크는 별도 유형이 아니다. 같은 아이노드를 가리키는 이름이 하나 더 생길 뿐이라, 원래 파일과 똑같이 일반 파일(-)로 보인다.
$ ls -ld /etc/passwd /etc /dev/sda /dev/tty /tmp/myfifo -rw-r--r--. 1 root root 2345 Jan 1 09:00 /etc/passwd drwxr-xr-x. 1 root root 4096 Jan 1 09:00 /etc brw-rw----. 1 root disk 8, 0 Jan 1 09:00 /dev/sda crw-rw-rw-. 1 root tty 5, 0 Jan 1 09:00 /dev/tty prw-r--r--. 1 user user 0 Jan 1 09:00 /tmp/myfifo
stat -c %F 파일은 유형을 "regular file", "directory", "fifo" 같은 말로 보여 준다.find / -type p처럼 find 의 -type 에 f, d, l, c, b, p, s 를 주면 그 유형만 찾는다.
| 말 | 무엇인가 | 파일 유형인가 |
|---|---|---|
| 가상 파일 시스템(VFS) | 커널이 여러 파일 시스템을 같은 인터페이스로 다루게 하는 추상 계층 | 아니다. 파일 유형이 아니라 커널 계층의 이름이다 |
| /proc, /sys 의 항목 | 커널이 메모리에서 만들어 보여 주는 의사 파일 시스템의 파일 | 아니다. ls -l 로 보면 대부분 일반 파일(-)이나 디렉터리(d)로 나온다 |
| 숨김 파일 | 이름이 점(.)으로 시작해 ls 에서 기본으로 안 보이는 파일 | 아니다. 이름 규칙일 뿐 유형은 일반 파일이나 디렉터리다 |
| 실행 파일 | 실행 권한(x)이 있는 파일 | 아니다. 권한의 문제이고 유형은 일반 파일이다 |
"가상 파일"이라는 유형은 없다. 파일 유형은 위의 일곱 가지뿐이다.
- ↑ 「inode(7) - Linux manual page」, man7.org, https://man7.org/linux/man-pages/man7/inode.7.html, 확인일: 2026-11-04.
- ↑ 「What information is listed」, GNU Coreutils Manual, https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html, 확인일: 2026-11-04.