【问题标题】:Copying file to device file in Linux if everything is a file如果一切都是文件,则在Linux中将文件复制到设备文件
【发布时间】:2020-09-20 11:32:20
【问题描述】:

基本上我正在努力学习 Linux。

在 Linux 中,一切都是文件。甚至设备?这就像一个事实。那么我如何访问设备的特定流(stdout)(打开文件,如显示设备)并绘制类似图像的东西。我想知道如果我从磁盘复制图像并将其粘贴到显示设备(特别是显示设备而不是终端,就像在显示器上绘制的东西)。理解正确吗

如果是这样,它会起作用吗,类似于以下命令

   cp fwd.txt opened_Display_Device_File

   echo "hello" >> Opened_Display_Device_File

如果可能的话,确切的命令是什么?

【问题讨论】:

  • "在 Linux 中,一切都是文件。"那不是真的。有些东西是通过类似文件的界面访问的,但这远非一切。

标签: linux terminal command


【解决方案1】:

“一切都是文件”是经常被教导的教条。并非所有设备都有文件映射;而那些确实有的接口通常不是特别像文件。

但是,显示设备通常类似于文件,至少就日常绘图操作而言。许多 Linux 系统提供可以像“普通”文件一样读写的帧缓冲设备。这些设备通常具有类似/dev/fb0 的名称。您可以使用dd 等实用程序将帧缓冲区文件复制到磁盘上的常规文件,或将磁盘上的文件复制回帧缓冲区。

但是,帧缓冲区文件的文件格式并不是特别直观——它不太可能是常规的图形文件格式。此外,除了简单的文件读取和写入之外,帧缓冲设备还有其他方式与应用程序交互。例如,有特定于设备的 ioctl() 调用来设置显示分辨率和刷新率等内容。

所以,是的,很多 Linux 设备都有类似文件的接口,但有些设备比其他设备更像文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    相关资源
    最近更新 更多