Linuxpia/Linux 명령어

[리눅스 명령어] 리눅스에서 특수 파일 생성하기: mknod 명령어

Linuxpia4U 2023. 11. 7. 19:08
반응형

리눅스에서 특수 파일 생성하기: mknod 명령어

리눅스 시스템에서는 mknod 명령어를 사용하여 특수 파일, 즉 디바이스 파일을 생성합니다. 이 파일들은 하드웨어 디바이스를 나타내는 인터페이스 역할을 하며, 일반적으로 /dev 디렉토리에 위치합니다.

mknod 명령어의 기본 구조

mknod 명령어의 기본 구조는 다음과 같습니다:

mknod [options] name type major minor
  • name: 생성할 디바이스 파일의 이름입니다.
  • type: 디바이스 타입을 지정합니다. c는 문자 디바이스, b는 블록 디바이스를 의미합니다.
  • major: 메이저 번호로, 디바이스를 제어하는 드라이버를 지정합니다.
  • minor: 마이너 번호로, 특정 디바이스 파일을 구별하는 데 사용됩니다.

디바이스 파일의 종류

mknod로 생성할 수 있는 디바이스 파일에는 두 가지 주요 종류가 있습니다:

  • 문자 디바이스 파일: 데이터를 문자(바이트) 단위로 전송하는 디바이스를 위한 파일입니다. 예를 들어 터미널이나 시리얼 포트가 이에 해당합니다.
  • 블록 디바이스 파일: 데이터를 블록 단위로 전송하는 디바이스를 위한 파일입니다. 대부분의 스토리지 디바이스가 이에 속합니다.

mknod를 이용한 파일 생성 예시

다음은 /dev 디렉토리에 새로운 블록 디바이스 파일을 생성하는 예시입니다:

mknod /dev/myblock b 7 0

이 명령은 메이저 번호가 7이고 마이너 번호가 0인 블록 디바이스 myblock을 생성합니다.

주의사항

  • mknod 명령어를 사용할 때는 주의가 필요합니다. 잘못된 메이저 또는 마이너 번호를 사용하면 예상치 못한 디바이스에 접근할 수 있으며, 시스템에 문제를 일으킬 수 있습니다.
  • 대부분의 최신 리눅스 배포판에서는 udev나 mdev와 같은 디바이스 매니저가 자동으로 디바이스 파일을 관리하기 때문에, 사용자가 직접 mknod를 사용할 일은 드물어졌습니다.
  • mknod 명령은 루트 권한이 필요합니다. 일반 사용자가 실행하려면 sudo를 사용해야 합니다.
반응형