Unix和Linux中比较重要的设备文件有3个:/dev/console ,/dev/tty, /dev/null.
1、/dev/console
这个设备代表的是系统控制台。错误信息和诊断信息通常会被发送到这个设备。每个UNIX系统都会有一个指定的终端或显示屏用来接收控制台消息。过去,它可能是一台专用的打印终端,而现在的工作站和linux上,它通常是“活跃”的虚拟控制台;而在X视窗系统中,它会是屏幕上一个特殊的控制台窗口。
2、/dev/tty
如果一个进程有控制终端的话,那么特殊文件/dev/tty就是这个控制终端(键盘和显示屏,或键盘和窗口)的别名(逻辑设备)。例如,由系统自动运行的进程和脚本就没有控制终端,所以他们不能打开/dev/tty.
在能够使用该设备文件的情况下,/dev/tty/允许程序直接向用户输出信息,而不管用户具体使用的是哪种类型的伪终端或硬件终端。在标准输出被重定向时,这一功能非常有用。使用命名ls-R | more 显示一个长目录列表就是这样的一个例子,more程序需要提示用户进行键盘操作之后才能显示一页内容。
注意,/dev/console设备只有一个,但通过/dev/tty却能够访问许多不同的物理设备。
3、/dev/null
/dev/null文件是空设备,所有写向这个设备的输出都将被丢弃,而读这个设备会立刻返回一个文件尾标志,所以在cp命令里可以把它用作复制空文件的源文件。人们常把不需要的输出重定向到/dev/null.