캐릭터 장치 파일을 만드는 방법은 무엇입니까?
나는 열심히 노력했다cat > xxx^c
그런데 캐릭터 디바이스 파일을 생성할 수 없습니다.
답변1
mknod
Linux에서 제공하는 명령을 사용하여 장치 파일을 만들 수 있습니다.
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 명령을 사용하여 특수 파일을 생성하는 것을 볼 수 있습니다).