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 를 호출할 때 해당 버퍼를 인쇄합니다.

실제로 달성하려는 목표에 따라 더 간단한 대안이 있을 수 있습니다.

관련 정보