详解Linux系统下的/dev目录

2015-10-21来源:网络管理人气:3758

  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为 在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

  Linux沿袭Unix的风格,将所有设备认成是一个文件。

  设备文件分为两种:块设备文件(b)和字符设备文件(c),设备文件一般存放在/dev目录下,对常见设备文件作如下说明:

  /dev/hd[a-t]:IDE设备

  /dev/sd[a-z]:SCSI设备

  /dev/fd[0-7]:标准软驱

  /dev/md[0-31]:软raid设备

  /dev/loop[0-7]:本地回环设备

  /dev/ram[0-15]:内存

  /dev/null:无限数据接收设备,相当于黑洞

  /dev/zero:无限零资源

  /dev/tty[0-63]:虚拟终端

  /dev/ttyS[0-3]:串口

  /dev/lp[0-3]:并口

  /dev/console:控制台

  /dev/fb[0-31]:framebuffer

  /dev/cdrom => /dev/hdc

  /dev/modem => /dev/ttyS[0-9]

  /dev/pilot => /dev/ttyS[0-9]

  /dev/random:随机数设备

  /dev/urandom:随机数设备

  在linux系统中,/dev目录用来保存设备文件的.每个文件指向一个系统设备.用户的程序可以通过使用这些设备文件,

  对真实的硬件的设备进行操作.如: hda是第1个IDE硬盘,sda是第1个SCSI硬盘.

  在2.4内核时代,在/dev下保存了所有kernel可以支持的硬件设备的设备文件,将近有1万个.而这些设备中,大多数

  是没有连接的设备.这样就大大的浪费了系统资源,而且/dev目录也显得非常混乱.

  udev就是用了解决这些问题的.在2.6内核中,采用udev方式来管理/dev目录.它可以动态的建立/删除设备文件(设备

  连接到系统时,它会自动建立相应的设备文件,设备断开连接后,它会自动删除相应的设备文件).这样使/dev目录

  简化了许多.而且,udev还可以允许用户编写命名规则,为不同设备指定设备文件名.这样,对设备的管理也方便了

  许多.

  例如:你有2个U盘,1个容量是1G的,1个容量是2G的.一般情况下,你先接上的U盘会是sdb,后接上的U盘会是sdc.这样对

  使用很不方便.每次U盘的设备名可能不一样.但通过udev命名规则,你可以自己指定的设备命名,可以将1G的U盘命名为

  1g,将2G的U盘命名为2g.设备名不会再变化.使用和管理都会很方便.