dev下的檔案

2021-05-25 11:32:30 字數 1903 閱讀 5902

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

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

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

/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會自動幫你建立得。

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

dev下的shm目錄

dev shm 是linux下乙個非常有用的目錄,因為這個目錄不在硬碟上,而是在記憶體裡。因此在linux下,就不需要大費周折去建 ramdisk,直接使用 dev shm 就可達到很好的優化效果。dev shm 需要注意的乙個是容量問題,在linux下,它預設最大為記憶體的一半大小,使用df h命...

android下dev裝置的許可權問題

博主寫的很好,留做筆記 倘若應用程式需要對 dev 進行讀寫操作,就需要提公升其許可權。提權方法不唯一,需要根據具體需求情況而選擇。歸根結底,終究都落到chmod 777 dev 上,不同的是,chmod操作被執行在何時何地,在此做個分析總結。核心啟動後會執行 system init,傳說中的系統1...

virtualbox虛機環境下安裝devstack

1 安裝環境 virtualbox虛擬機器,虛機內的系統的centos6.5 2 安裝devstack步驟 1 安裝git yum install git 2 安裝pip git clone 進入pythoninstaller,執行pip installer.sh git clone sh tool...