Linuxで動的1バイトファイルを生成できますか?

Linuxで動的1バイトファイルを生成できますか?

情報を送信して使用できるファイルを作成したいですcat。データをすぐに読み取らないと失われます。したがって、ファイルサイズは最大1バイトまで可能です。また、キャプチャするときにEOFがあってはなりません。

したがって、次のようにする必要があります/dev/random

$ ls -l /dev/random
crw-rw-rw- 1 root root 1, 8 aug 30 12:16 /dev/random

$cat /dev/random
�Zd<'у�Ɇ��[7"$�T`g/��F��?���n��a���-�`�
�ս�"'�F����z��
               ����]�7/ۆs���Ha�bO�EY'NJ���gɠ������R:�u�E��#_�����ۀ�]�;6�������ό2�����GE9$E^xeE�����J���;
                                    K~�����צ�d0�b��$I��8 a��0<4��$]m5"�o�V�V-�s�p�|�
     �lB�(�O�4�=B�%�q�Gv[����IS�S)"y���
�q�*�a���$�)����J�}��ȍ|���cj�sD ���+�D9��=>�
G�؋���P�hiA��l�$H'��;]JB��?a:gc�����/6�қ�S{��Z]�,�8a޹�K�v
                                                              ��86t\���!+�xح���ȕ��3J
�������G,t�5+�s\}�PY������%��t�:������/�^�F�F�$`��{a�n+ș9;�����] �$���ϒ�L(����qX~��DE�
                  v
                   g�z����YI���Ӈ2���xQra�ryNcd�rF��F���k���/�����6  �X��5�����*F�?��I��0(W��yS��Qa�j��/�m�í$ů���eC}WC�Ƚ�#)��
                                                         G�U��+;�V�}�To�����p��R���[=�rv@�a��J�gv���r�t�mW+b4e
                                  aIg;
�SI�����fXSPE��m$�]X���-�(��S<��V/���I���p��գ'�A�����v�UnT5���zwv��a��f��.�v�Ji�n<�|^C
...
...
...

可能ですか?

答え1

/dev/random は通常のファイルではなく、カーネルによって処理されるデバイスファイルです。を使用して追加のデバイスファイルを作成できますが、mknodカーネルに既知の既存のデバイスファイルの動作のみを持つことができます。

カスタム動作を得るには、独自のカーネルドライバを作成する必要があります。このガイド非常に基本的なカーネルドライバを作成する方法を示し、そこで作成したデータの1バイトを循環バッファに書き込むように修正し、readを呼び出すときにそのバッファを印刷します。

実際に達成したい目標に応じて、より簡単な代替案があるかもしれません。

関連情報