Linux下设备的表示方法,现在大部分Linux


  Linux下所有的设备都被当作文件来操作,这个做法让很多Windows用户感到疑惑。现在大部分Linux发行版都利用图形界面有意掩盖了这个事实,目的只是为了使其更易于理解和操作。几年前,对于那些刚从Windows转来的用户而

言,使用软驱、光驱、打印机这些外部设备简直就是一场噩梦。因为这个系统看来根本没有设备管理器这样的东西,也没有资源管理器可以让用户定位到代表软驱和光驱的盘符。

  在Linux中,每个设备都被映射为一个特殊文件,这个文件被称作“设备文件”。对与上层应用程序而言,所有对这个设备的操作都是通过读写这个文件来实现的。通过文件来操作硬件,这在程序员听来绝对是一个天才的创意。

Linux把所有的设备都放在/dev目录上。这些文件中大部分是块设备文件和字符设备文件。块设计(例如磁盘)可以随机读写,/dev/hdal、/dev/sda2等就是典型的块设备文件;而字符设备只能按顺序接受“字符流”,常见的有打印机等。

  硬盘在Linux中遵循一种特定的命名规则,如sdal表示在第1块硬盘上的第一个主分区,sdb6表示在第2块硬盘上的第2个逻辑分区(关于硬盘在Linux中的命名规则,参见2.2.2节)。用户不能直接通过设备文件访问存储设备,所有的存储设备(包括硬盘、关盘等)在使用之前必须首先被挂载到一个目录下,然后就可以像操作目录一样使用这个存储设备了。回忆一下8.3.1节,关盘被挂载到/mnt/cdrom目录下,在/mnt/cdrom下使用ls命令列出的就是光盘中的文件。

相关内容