/dev/random과 같은 스트림 인터페이스를 사용하여 파일을 생성하려고 합니다. 기본적으로 파일에 일부 초기 내용을 제공하고 프로그램이 파일에서 읽을 때 일부 바이트를 소비하므로 다른 프로그램은 파일의 나머지 부분에서만 읽을 수 있습니다. 이를 수행할 수 있는 방법이 있습니까?
답변1
예, 당신은 다음을 설명하고 있습니다.명명된 파이프, FIFO라고도 합니다.
bash-4p4$ mkfifo mypipe
bash-4.4$ ( dd if=/dev/random of=mypipe ) &
[1] 37688
bash-4.4$ hexdump -C mypipe | head -n 2
00000000 e0 de 4a 6e 48 63 aa 25 21 77 89 85 53 fd 36 57 |..JnHc.%!w..S.6W|
00000010 c3 be 55 f3 15 00 6b 44 64 27 c4 d8 8c 7d de d5 |..U...kDd'...}..|
bash-4.4$ hexdump -C mypipe | head -n 2
00000000 dd ff 66 1d 15 f2 0b 55 ee 94 f2 f1 96 60 e9 8a |..f....U.....`..|
00000010 a0 b9 9d 1d 08 22 0b 33 ad dc 94 c1 61 49 e0 1b |.....".3....aI..|
bash-4.4$ hexdump -C mypipe | head -n 2
00000000 82 7e 99 20 30 65 b9 eb 35 bd 6f 6b b6 bf 7e 2a |.~. 0e..5.ok..~*|
00000010 5e c2 97 b4 e6 47 be 85 43 ab d7 00 be 86 f2 ae |^....G..C.......|
bash-4.4$ hexdump -C mypipe | head -n 2
00000000 3c 22 69 e2 95 64 6f 4e e4 3d 69 8c eb 68 c7 2f |<"i..doN.=i..h./|
00000010 b5 76 4d 81 59 db 06 9b e7 97 85 01 db c3 e0 7b |.vM.Y..........{|
bash-4.4$ kill %1
bash-4.4$
[1]+ Terminated ( dd if=/dev/random of=mypipe )
bash-4.4$ rm mypipe