5
Linux如何区分真实文件和不存在的文件(例如:设备)?
这是一个比较低级的问题,我知道这可能不是最好的问题。但是,它似乎比其他任何SE网站都更合适,所以请继续。 我知道在Linux文件系统上实际上存在一些文件,例如:/usr/bin/bash是存在的文件。然而,(据我所知),有的还没有实际存在本身和更虚拟的文件,如:/dev/sda,/proc/cpuinfo等我的问题是(它们是两个,而是要独立的问题也密切相关): 当发出读取命令(或类似命令)时,Linux内核如何判断这些文件是真实的(并因此从磁盘读取)? 如果文件不是真实的:例如,从读取/dev/random将返回随机数据,而从读取/dev/null将返回EOF。如何计算要从该虚拟文件中读取哪些数据(以及如果/如果将数据也写入该虚拟文件中,那么该怎么做)-是否存在某种类型的映射,该映射具有用于分隔适用于每个文件的读/写命令的指针,甚至虚拟目录本身?因此,的条目/dev/null可以简单地返回EOF。