mknod 명령 매개변수는 정확히 무엇입니까?

mknod 명령 매개변수는 정확히 무엇입니까?

mknod명령 매개변수란 정확히 무엇입니까?

chroot 안에 감옥을 만들고 싶습니다. 그래서 나는 다음을 수행해야 합니다:

mknod /var/chroot/bind/dev/null c 1 3
mknod /var/chroot/bind/dev/random c 1 8

c, 1, 그리고 는 3무엇입니까 8?

답변1

mknod일반적으로 /dev 분기에 장치 파일이 생성되지만 반드시 예제와 같지는 않습니다.

첫 번째 매개변수는 우리가 만들고자 하는 장치의 종류를 알려줍니다. 이 c경우에는 문자 장치입니다. 다른 옵션으로는 b블록 장치, pfifos(파이프)가 있을 수 있습니다.

두 번째 매개변수는 커널이 사용하는 드라이버를 식별하는 주요 장치 번호입니다.

세 번째 매개변수는 내부 사용을 위해 드라이버에 전달되는 보조 장치 번호입니다.

Linux에서는 메이저/마이너 번호가 다음과 같이 기록됩니다.장치.txt

따라서 1은 소위에 사용됩니다.저장 장치운전자가 처리합니다.

3null읽을 때 EOF를 반환하고 쓴 내용을 삭제하는 장치를 나타냅니다 .

8random난수를 반환하는 장치를 나타냅니다 .

자세한 내용은 장치 매뉴얼 페이지를 확인하세요.

man -s 4 null
man -s 4 random

답변2

MAKEDEV존재하지 않는 장치 파일을 생성하는 데 선호되는 방법입니다. 그러나 때로는 MAKEDEV스크립트가 생성하려는 장치 파일에 대해 알지 못하는 경우가 있습니다. 여기서 mknod명령이 들어옵니다. 사용하기 위해서는 mknod생성하려는 장치의 기본 노드 번호와 보조 노드 번호를 알아야 합니다.

mknod /dev/ttyS0 c 4 64

답변3

알아 둘만 한:

연결된 장치의 메이저/마이너 번호를 얻으려면 장치 데이터를 얻을 수 있습니다.

cat /sys/class/tty/ttyUSB0/uevent

결과:

MAJOR=188
MINOR=0
DEVNAME=ttyUSB0

이 정보를 사용하여 다음으로 전화할 수 있습니다. mknod /dev/ttyUSB0 c 188 0

관련 정보