Linux &引用;cat/dev/random“文件;对;tail-f/dev/random“;

Linux &引用;cat/dev/random“文件;对;tail-f/dev/random“;,linux,shell,unix,random,tail,Linux,Shell,Unix,Random,Tail,声明 cat /dev/random 如预期的那样,保持产出,但 tail -f /dev/random 挂起(至少在OSX和SUSE上)。 为什么后一条语句挂起?tail-f做了几件事: 通过读取直到到达EOF或通过搜索到流的末尾(在/dev/random上不可用的操作),查找流的结尾 备份一定长度(可能通过保留最近读取内容的适当长度的缓冲区,可能通过在初始扫描期间保留最后N行的搜索位置列表,或通过其他方式),并在该点和结束之间打印内容 当新内容可用时,继续打印超过该点的新内容 如果没有终

声明

cat /dev/random
如预期的那样,保持产出,但

tail -f /dev/random
挂起(至少在OSX和SUSE上)。
为什么后一条语句挂起?

tail-f
做了几件事:

  • 通过读取直到到达EOF或通过搜索到流的末尾(在
    /dev/random
    上不可用的操作),查找流的结尾
  • 备份一定长度(可能通过保留最近读取内容的适当长度的缓冲区,可能通过在初始扫描期间保留最后N行的搜索位置列表,或通过其他方式),并在该点和结束之间打印内容
  • 当新内容可用时,继续打印超过该点的新内容
  • 如果没有终点,就像
    /dev/random
    那样,第一步永远不会完成


    cat
    不需要找到一个端点来从中查找,因此它没有相关的故障点。

    不编程,但阅读手册页的tail,您将了解它的功能。它不是cat。不确定您使用/dev/random的目的是什么,但您可能需要使用/dev/urandom。