| 
		    
                    
   我们就在当前位置创建出一个与 /dev/hda一样的、可以访问第一个IDE设备主硬盘的文件,文件名叫做harddisk。  
  使用下面命令可以查看设备编号:  
    
        
            
            #file /dev/hda
/dev/hda: block special (3/0) 
             | 
         
    
 
  其中Block代表/dev/hda是系统的Block型(块型)设备文件,它的主设备编号为3,辅设备编号为0。  
    
        
            
            #ls -l /dev/hda /dev/hdb 
brw-rw----    1 root     disk       3,   0 Sep 15  2003 /dev/hda
brw-rw----    1 root     disk       3,  64 Sep 15  2003 /dev/hdb 
             | 
         
    
 
  使用ls -l也可以看到设备编号,/dev/hdb代表第一个IDE接口的从设备(Slave)也是Block设备,编号为(3/64),还有另外一种设备文件是/dev/tty*。使用如下命令:  
    
        
            
            #echo "hello tty1" > /dev/tty1 
             | 
         
    
 
  将字符串“hello tty1”输出到/dev/tty1代表的第一个虚拟控制台上,此时按“Alt + F1”可以看到该字符出现在屏幕上,这个特殊的文件就代表着我们的第一虚拟控制台。  
    
        
            
            #file /dev/tty1
/dev/tty1: character special (4/1) 
             | 
         
    
 
  由上可以看到,它的类型为Character 型(字符型)设备文件,主设备号为4,辅设备号为1。同样,/dev/tty2代表着第二个虚拟控制台,是Character设备,编号为 (4/2)。  
  当将/dev/cdrom加载到/mnt/cdrom中时,只要访问/mnt/cdrom系统就会自动引入到/dev/cdrom对应的驱动程序中,访问实际的数据。  
  有关设备文件的编号可以看内核文档/usr/src/linux-2.*/Documentation/devices.txt 文件(在Kernel的源文件解包后的Documentation目录中),其中详细叙述了各种设备文件编号的意义。  
  3.使用/proc目录中的文件监视驱动程序的状态 
  通过设备文件怎样访问到相应的驱动程序呢?它们中间有一个桥梁,那就是proc文件系统,它一般会被加载到/proc目录。访问设备文件时,操作系统通常会通过查找/proc目录下的值,确定由哪些驱动模块来完成任务。如果proc文件系统没有加载,访问设备文件时就会出现错误。 
  Linux系统中proc文件系统是内核虚拟的文件系统,其中所有的文件都是内核中虚拟出来的,各种文件实际上是当前内核在内存中的参数。它就像是专门为访问内核而打开的一扇门,比如访问/proc/cpuinfo文件,实际上就是访问目前的CPU的参数,每一次系统启动时系统都会通过 /etc/fstab中设置的信息自动将proc文件系统加载到/proc目录下: 
    
        
            
            # grep proc /etc/fstab
none	/proc	 proc    defaults        0 0
此外,也可以通过mount命令手动加载:
# mount -t proc none /proc 
             | 
         
    
 
  通过/proc目录下的文件可以访问或更改内核参数,可以通过/proc目录查询驱动程序的信息。下面先让我们看一下/proc目录中的信息:  
    
        
            
            # ls /proc
1  4725  5032  5100  5248  5292  crypto  kcore  partitions
14 4794  5044  5110  5250  5293  devices  kmsg  pci
2  4810  5075  5122  5252  5295  dma    ksyms self
3  4820  5079  5132  5254  5345 driver loadavg slabinfo
4     4831  5080  5151  5256  6        execdomains  locks    stat
4316  4910  5081  5160  5258  7        fb           lvm      swaps
4317  4912  5082  5170  5262  70       filesystems  mdstat   sys 
             | 
         
    
 
		    
                      
		      
		      
		   |