我刚刚在机器之间交换了磁带驱动器(都是 Unix Tru64)。设备文件现在不起作用,我必须对它们做一些工作(会产生不同的问题)。我创建了一个目录来存储旧设备文件,但是 cp 命令将它们视为设备文件,并且不会让我复制它们。
如何将设备文件作为文本复制到另一个目录?
我刚刚在机器之间交换了磁带驱动器(都是 Unix Tru64)。设备文件现在不起作用,我必须对它们做一些工作(会产生不同的问题)。我创建了一个目录来存储旧设备文件,但是 cp 命令将它们视为设备文件,并且不会让我复制它们。
如何将设备文件作为文本复制到另一个目录?
停止。
在您完全了解什么是设备特殊文件、它们对操作系统的意义以及它们是如何创建/管理的之前,不要再做任何事情。(提示:
mknod
——这可能也会帮助您解决其他问题)简而言之,设备文件是用于向设备驱动程序发送命令/数据并从其接收信息的接口。
它不是包含要以通常方式复制、移动或以其他方式操作的数据的常规文件。
随着您对什么是设备文件的新了解,应该清楚您不能简单地“将设备文件作为文本复制到另一个目录”——这不是它们的工作方式。
如果您确实复制了一个设备文件,那么您只是复制了一个指向驱动程序的指针:更换磁带,数据将有所不同。
因此复制“磁带设备文件”的内容是没有意义的——你想要的是从磁带上复制数据。为此,您需要向磁带设备发送命令以提供其所有数据,然后将其作为常规文件存储在其他地方。
tar
or命令在cpio
这里很有用,但还有其他选项。