/dev은 「디바이스 파일들」이 모인 곳입니다.
「모든 것은 파일」 철학의 가장 강력한 예 — 디스크·터미널·키보드·마우스·랜덤 숫자 생성기 모두 /dev 안의 파일로 표현되어 일반 파일처럼 read·write 가능.
주요 디바이스 파일들.
/dev/sda·sdb — 첫·두 번째 SATA 디스크.
/dev/nvme0n1 — NVMe SSD.
/dev/tty — 현재 터미널.
/dev/null — 데이터를 버리는 「블랙홀」.
/dev/zero — 0으로 채워진 무한 스트림.
/dev/random·urandom — 랜덤 바이트.
활용 예.
1) 디스크 통째 백업: dd if=/dev/sda of=disk.img — sda를 파일로.
2) 출력 버리기: command > /dev/null — stdout 무시.
3) 큰 파일 생성: dd if=/dev/zero of=test.bin bs=1M count=100 — 100MB 0으로 채운 파일.
4) 랜덤 파일: head -c 1024 /dev/urandom > rand.bin.
캐릭터 vs 블록 디바이스.
ls -l로 보면 첫 글자가 c(캐릭터, 키보드·터미널 등 바이트 단위) 또는 b(블록, 디스크 등 블록 단위).
둘의 처리 방식이 다름.
udev의 역할.
디바이스 파일은 옛날엔 수동으로 만들었지만(mknod), 모던 리눅스는 udev가 자동 생성·관리.
USB 꽂으면 즉시 /dev/sdb 또는 /dev/sdb1 같은 파일이 생기는 게 udev 덕분.
한 줄 요약
/dev은 디바이스 파일 — 디스크·터미널·랜덤 등을 일반 파일처럼 read·write.
/dev/null·zero·random이 매우 자주 활용.
udev가 자동 관리, 캐릭터 vs 블록 디바이스 구분.
더 알아볼 것
- dd 명령 — 디스크 복사 강력
- mknod로 수동 생성
- 유닉스 디바이스 모델