리눅스를 처음 사용할 때 가장 혼란스러운 점 중 하나가 “파일 종류와 확장자” 입니다. 윈도우와 달리 리눅스는 확장자 없이도 파일이 동작하고, ls -l
명령어를 실행하면 파일명 앞에 이상한 문자가 보이기 때문이죠. 오늘은 리눅스의 7가지 파일 유형과 확장자 사용법을 쉽게 설명합니다.
📁 1. 리눅스의 7대 파일 종류
리눅스에서는 모든 것이 파일입니다. 일반 문서부터 하드웨어 장치까지 모두 파일로 관리되며, ls -l
명령어로 첫 글자를 확인해 구분할 수 있습니다.
기호 | 파일 유형 | 설명 | 예시 |
---|---|---|---|
- |
일반 파일 | 텍스트, 이미지, 실행파일 등 | report.txt , cat.jpg |
d |
디렉토리 | 폴더 (파일을 담는 컨테이너) | /home , /downloads |
l |
심볼릭 링크 | 다른 파일을 가리키는 바로가기 | shortcut → original |
c |
문자 장치 | 키보드/터미널 같은 순차접근 장치 | /dev/tty , /dev/null |
b |
블록 장치 | 하드디스크/USB 같은 임의접근 장치 | /dev/sda , /dev/sdb |
s |
소켓 | 프로세스 간 통신 파일 | /run/docker.sock |
p |
파이프 | 단방향 프로세스 통신 파일 | mypipe (mkfifo로 생성) |
> 🔍 확인 방법
> ls -l /dev
명령어 실행 시 다양한 장치 파일 확인 가능
(디렉토리 구조 예시 – 실제 사용 시 업로드 필요)
🔤 2. 확장자의 진실: 리눅스 vs 윈도우
리눅스에서 확장자는 필수가 아닌 관습입니다. 시스템은 파일 내용으로 유형을 판단하지만, 사용자 편의를 위해 확장자를 사용합니다.
script.sh # 쉘 스크립트
document.pdf # PDF 문서
image.png # PNG 이미지
> ⚠️ 주의사항:
> 실행 권한(chmod +x 파일명
)이 부여되면 확장자 없이도 실행 가능
> backup
파일은 텍스트일 수도, 압축파일일 수도 있음
🧩 3. 대표적인 확장자와 의미
편의성을 위해 자주 사용하는 확장자 패턴:
확장자 | 파일 유형 | 설명 |
---|---|---|
.sh |
쉘 스크립트 | 터미널에서 실행하는 명령어 모음 |
.tar |
아카이브 | 여러 파일을 하나로 묶음 (압축X) |
.gz |
gzip 압축 파일 | .tar.gz 조합이 일반적 |
.deb |
데비안 패키지 | 우분투 설치 파일 |
.conf |
설정 파일 | 프로그램 설정 저장 |
.log |
로그 파일 | 시스템/프로그램 기록 |
.lock |
잠금 파일 | 파일 사용 중 표시 |
> 💡 파일 유형 확인 명령어
> file 파일명
→ 파일의 실제 형식 출력 (마법사 같은 명령어!)
🛠️ 4. 초보자 실수 방지 팁
-
숨김 파일 :
.
으로 시작하는 파일 (예:.bashrc
)
ls -a
로 확인 가능 -
실행 파일 : 권한에
x
가 있어야 실행 가능-rwxr-xr-x 1 user group 0 Jan 1 12:00 my_script*
-
링크 vs 원본 :
심볼릭 링크 삭제(rm
) 시 원본은 안전하지만,
하드 링크는 원본과 동일한 inode 공유
💎 결론: 리눅스 파일 시스템의 핵심
> “리눅스에서는 확장자보다 파일 내용과 권한이 더 중요합니다
> file
, ls -l
, stat
명령어로 파일의 진짜 정체성을 확인하세요!”
리눅스는 확장자에 의존하지 않아 더 유연한 파일 관리가 가능합니다. backup.old
파일이 텍스트인지, 압축파일인지 모를 땐 file backup.old
명령어 한 방이면 해결됩니다. 이제 터미널을 열고 ls -l /
명령어로 다양한 파일 유형을 관찰해보세요! 🐧
(실제 터미널 화면 예시 – 업로드 필요)