캐릭터 디바이스 파일 생성

캐릭터 디바이스 파일 생성

캐릭터 장치 파일을 만드는 방법은 무엇입니까?

나는 열심히 노력했다cat > xxx^c

그런데 캐릭터 디바이스 파일을 생성할 수 없습니다.

답변1

mknodLinux에서 제공하는 명령을 사용하여 장치 파일을 만들 수 있습니다.

mknod <name> <type of device c:- character b:- block device etc> <major> <minor>

예:

mknod test_device c 89 1

귀하의 경우에는 문자 장치 파일을 생성하므로 c를 제공해야 합니다. 장치 파일을 생성한 후 나중에 파일을 조작하려면 파일의 권한도 변경해야 합니다.

답변2

그리고 mknod:

mknod <name> c <major> <minor>

문자 장치에 대한 모든 세부 정보를 알아보려면 "Linux 장치 드라이버"(무료 도서)를 읽어보세요.

답변3

문자 장치 번호 찾기/proc/devices

동적으로 할당된 장치 번호(충돌을 피하기 위한 표준)가 있는 문자 장치의 경우 다음을 cat /proc/devices포함하는 줄에서 번호를 찾습니다.

195 nvidia-frontend

오토메이션:

insmod /device_name.ko
dev="device_name"
major="$(grep "$dev" /proc/devices | cut -d ' ' -f 1)"
mknod "/dev/$dev" c "$major" 0

다음은 시도해 볼 수 있는 모듈도 포함된 예입니다.문자 장치(또는 특수 문자) 파일 이해

답변4

"지정된 문자 특수 파일"이 있는 cpio 파일이 있는 경우 루트를 사용하여 압축을 풀어야 합니다(sudo cpio -idmv). 그렇지 않으면 문자 특수 파일이 생성되지 않습니다.

그렇습니다. 캐릭터 특수 파일을 만드는 또 다른 방법은 다음과 같습니다(기존 캐릭터 특수 파일에서 복사).

ㅏ. 복사할 파일을 나열하는 파일을 만듭니다.

여기에 이미지 설명을 입력하세요.

b. cpio 파일 자체를 생성합니다(루트로 실행해야 함).

여기에 이미지 설명을 입력하세요.

("cpio -it"은 단지 나열하고 확인만 한다는 점에 유의하세요)

씨. cpio 파일에서 다른 디렉터리에 캐릭터 파일을 다시 만듭니다.

여기에 이미지 설명을 입력하세요.

(여기서 루트로 실행해야 합니다. "cpio" 자체가 mknod 명령을 사용하여 특수 파일을 생성하는 것을 볼 수 있습니다).

관련 정보