Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “所有设备都是文件”是什么意思?_Linux_File_Device - Fatal编程技术网

Linux “所有设备都是文件”是什么意思?

Linux “所有设备都是文件”是什么意思?,linux,file,device,Linux,File,Device,我听到有人说在Linux中,所有设备都是文件。这是什么意思?我对文件的理解是,它是磁盘上写入字节和读取字节的逻辑位置。据我所知,一个设备就是任何一个物理硬件。。。有些与文件无关。有人能给我解释一下这句话吗?这意味着设备的实际细节被抽象掉了,这样应用程序就可以将其视为IO目的的文件 例如,串行端口可以以多种不同的方式在硬件中实现,但操作系统会隐藏串行端口,以便应用程序可以像读取和写入文件一样读取和写入设备。Linux将每个设备视为一个文件。也就是说,您与设备的编程交互方式与与与文件的交互方式完全相

我听到有人说在Linux中,所有设备都是文件。这是什么意思?我对文件的理解是,它是磁盘上写入字节和读取字节的逻辑位置。据我所知,一个设备就是任何一个物理硬件。。。有些与文件无关。有人能给我解释一下这句话吗?

这意味着设备的实际细节被抽象掉了,这样应用程序就可以将其视为IO目的的文件

例如,串行端口可以以多种不同的方式在硬件中实现,但操作系统会隐藏串行端口,以便应用程序可以像读取和写入文件一样读取和写入设备。

Linux将每个设备视为一个文件。也就是说,您与设备的编程交互方式与与与文件的交互方式完全相同:

通过路径指定设备,通常在/dev目录下。 首先打开设备,就像打开一个文件一样,它会为您提供一个文件描述符。 您可以对文件描述符执行ioctl输入/输出控制操作。 您可以通过写入和/或读取文件描述符来发送和/或检索数据。 使用完毕后,请关闭设备。