キャラクターデバイスファイルを作成するには?
私が試してみました cat > xxx^c
しかし、キャラクターデバイスファイルを作成できません
Linuxが提供するmknod
コマンドを使用してデバイスファイルを作成できます。
mknod <name> <type of device c:- character b:- block device etc> <major> <minor>
例:
mknod test_device c 89 1
キャラクターデバイスファイルを作成しているので、あなたの場合はcを提供する必要があります。デバイスファイルを作成した後、将来ファイルを操作する場合は、ファイルのアクセス権も変更する必要があります。
mknod
の場合:
mknod <name> c <major> <minor>
「Linuxデバイスドライバー」(無料の本)を読んで、キャラクターデバイスとは何かについてのすべての詳細を理解してください。
/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
以下は、試してみるためのモジュールも含む例です。 キャラクターデバイス(またはキャラクタースペシャル)ファイルについて
Lofiコマンドを見て、目的に合っているかどうかを確認することをお勧めします。
マニュアルページの説明から
「lofiファイルドライバーはファイルをブロックデバイスとしてエクスポートします」
私が試した例
mkfile -n 512k test_file
Sudo lofiadm -a ~a6098/test_file /dev/lofi/1
ls -l /dev/lofi/1
lrwxrwxrwx 1 root root 29 Sep 18 14:33 /dev/lofi/1 -> ../../devices/pseudo/lofi@0:1
ls -l /devices/pseudo/lofi@0:1
brw------- 1 root sys 147, 1 Sep 18 14:33 /devices/pseudo/lofi@0:1
「文字特殊ファイルが指定された」cpioファイルがある場合、ルートを使用して解凍する必要があります(Sudo cpio -idmv)。それ以外の場合、文字特殊ファイルは作成されません。
だからはい、(既存のキャラクタースペシャルファイルからコピーして)キャラクタースペシャルファイルを作成する別の方法:
a。コピーするファイルをリストしたファイルを作成します。
b。 cpioファイル自体を作成します(rootとして実行する必要があります)。
( "cpio -it"は単に一覧表示して確認するためのものです)
c。 cpioファイルから、別のディレクトリに文字ファイルを再作成します。
(ここではrootとして実行する必要があります。「cpio」自体がmknodコマンドを使用して特殊ファイルを作成していることがわかります)。