linux /dev目錄

victorymoshui發表於2011-05-05

linux /dev目錄

 

 dev 是裝置(device)的英文縮寫。這個目錄對所有的使用者都十分重要。因為在這個目錄中包含了所有Linux系統中使用的外部裝置。但是這裡並不是放的外部裝置的驅動程式。這一點和我們常用的windows, dos作業系統不一樣。它實際上是一個訪問這些外部裝置的埠。我們可以非常方便地去訪問這些外部裝置,和訪問一個檔案,一個目錄沒有任何區別。 

  例如:我們在系統中鍵入:cd /dev/cdrom 我們就可以看到光碟機中的檔案了。同樣道理,我們鍵入:cd /dev/mouse 就可以看看滑鼠的相關檔案。在這個目錄下,有一個null裝置,這個東西本身沒有任何意義。如果你向這個目錄寫入檔案或內容,他們統統有去無回。

 

/dev/null是一個非常有用的字元裝置檔案,送入這個裝置的所有東西都被忽略,如果將任何程式的輸出結果重定向到/dev/null,則看不到任何輸出資訊。甚至於,您可以將某一使用者的shell指向/dev/null 以禁止其登陸

/dev/zero則不停的export 0,只要你要

/dev/urandom用來生成低質量的隨機數序列,不信用cat /dev/urandom try 一下,

 

 

(2)裝置檔案
UNIX
系統與邊在本系統上的各種裝置之間的通訊,通過特別檔案來實現,
就程式而言,磁碟是檔案,MODEM是檔案,甚至記憶體也是檔案.所有連線到系統上
的裝置都在/dev目錄中有一個檔案與其對應.當在這些檔案上執行I/O操作時,
UNIX系統將I/O操作轉換成實際裝置的動作.例如,檔案/dev/mem是系統的內
,如果cat這個檔案,實際上是在終端顯示系統的記憶體.為了安全起見,這個文
件對普通使用者是不可讀的.因為在任一給定時間,記憶體區可能含有使用者登入口 令或執行程式的口令,某部分檔案的編輯緩衝區,緩衝區可能含有用ed
-x
命令 解密後的文字,以及使用者不願讓其他人存取的種種資訊/dev中的檔案通常稱為裝置檔案,ls /dev命令可以看看系統中的一
些裝置: acuo 呼叫自動撥號器 console 系統控制檯 dsknn 塊方式操作磁碟分割槽 kmem 核心記憶體 mem 記憶體 lp 印表機
mto 
塊方式操作磁帶 rdsknn 流方式操作的磁碟分割槽 rmto 流方式操作的磁帶 swap 交換區syscon 系統終端 ttynn
終埠 x25 網路埠 等等

 

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/console
:控制檯和/dev/tty[0-63]:虛擬終端的區別與聯絡
控制抬就好比電視機上的按鈕,終端好比遙控板,他們的目的都是控制電視機,但是控制檯必須在本地,而終端可以在遠端,系統只有一個控制檯,叫console,其他的都是終端

 

 

/dev目錄下的節點是怎麼建立的

devf或者udev會自動幫你建立得。

kobjectsysfs檔案系統的基礎,udev通過監測、檢測sysfs來獲取新建立的裝置的,搜尋一下版面,以前有udev的機制論述。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9390331/viewspace-694504/,如需轉載,請註明出處,否則將追究法律責任。