亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

linux dev 常見特殊設備介紹與應用(loop,null,zero,full,random)

2020-07-27 19:04:31
字體:
來源:轉載
供稿:網友

linux是文件型系統,所有硬件如軟件都會在對于的目錄下面有相應的文件表示。對于dev這個目錄,我們知道它下面的文件,表示的是linux的設備。在windows系統中,設備大家很好理解,象硬盤,磁盤指的是實實在在硬件。而在文件系統的linux下面,都有對于文件與這些設備關聯的。訪問它們就可以放到實際硬件,想想還是linux靈活了。變成文件,操作該多簡單了。不用調用以前com,prt等接口了。直接讀文件,寫文件就可以向設備發送讀或者寫操作了。 按照讀寫存儲數據方式,我們可以把設備分為以下幾種:字符型設備,塊設備,偽設備。

一、設備分類

字符型設備

字符設備是指每次與系統傳輸1個字符的設備。這些設備節點通常為傳真、虛擬終端和串口調制解調器、鍵盤之類設備提供流通信服務,它通常不支持隨機存取數據。 字符設備在實現時,大多不使用緩存器。系統直接從設備讀?。瘜懭朊恳粋€字符。例如,鍵盤這種設備提供的就是一個數據流,當你敲入“cnblogs”這個字符串時,鍵盤驅動程序會按照和輸入完全相同的順序返回這個由七個字符組成的數據流。它們是順序的,先返回c,最后是s。

塊設備

塊設備是指與系統間用塊的方式移動數據的設備。這些設備節點通常代表可尋址設備,如硬盤、CD-ROM和內存區域。

塊設備通常支持隨機存取和尋址,并使用緩存器。操作系統為輸入輸出分配了緩存以存儲一塊數據。當程序向設備發送了讀取或者寫入數據的請求時,系統把數據中的每一個字符存儲在適當的緩存中。當緩存被填滿時,會采取適當的操作(把數據傳走),而后系統清空緩存。它與字符設備不同之處就是,是否支持隨機存儲。字符型是流形式,逐一存儲。

偽設備

在類Unix操作系統中,設備節點并不一定要對應物理設備。沒有這種對應關系的設備是偽設備。操作系統運用了它們提供的多種功能。部份經常使用到的偽設備包括: null,zero,full,loop,random,urandom

二、特殊設備及使用

這里說到特殊設備除了硬盤主板等,只是它在linux shell命令里面,有特殊的作用,因此把它們單獨拿出來。這些設備分別是:

/dev/stdin
/dev/stdout
/dev/stderr
/dev/null
/dev/zero
/dev/full
/dev/random,urandom
/dev/fd
/dev/tcp|upd
/dev/loop

1、標準輸出輸入設備

還記得上次說的,linux重定向嗎?可以看下:linux shell數據重定向(輸入重定向與輸出重定向)詳細分析 。它們就是與幾個特殊文件描述符對應,fd0,fd1,fd2 (stdin,stdout,stderr)

如:

[chengmo@centos5 shell]$ cat>teststdin</dev/stdintest#ctrl+D#cat從/dev/stdin獲得數據,然后將標準輸出,輸入的到teststdin文件[chengmo@centos5 shell]$ cat teststdin test [chengmo@centos5 shell]$ cat>teststdintest#ctrl+D#不指定輸入,默認輸入設備就是/dev/stdinn

/dev/stdin指的就是鍵盤設備

[chengmo@centos5 shell]$ cat test.sh >/dev/stdout |grep 'echo'echo "very good!";echo "good!";echo "pass!";echo "no pass!"#/dev/stdout指向就是標準輸出,因此重定向給它的數據,最終發送到屏幕上(fd1)     [chengmo@centos5 shell]$ cat test.sh  |grep 'echo'           echo "very good!";echo "good!";echo "pass!";echo "no pass!";      [chengmo@centos5 shell]$ cat test.sh >/dev/stderr |grep 'echo'  #!/bin/sh scores=40;if [[ $scores -gt 90 ]]; then    echo "very good!";elif [[ $scores -gt 80 ]]; then    echo "good!";elif [[ $scores -gt 60 ]]; then    echo "pass!";else    echo "no pass!";fi;#/dev/stderr 指是錯誤輸出,默認也是輸出到屏幕上面,但是它的內容不能通過管道傳遞給grep,管道只能傳遞標準輸出

/dev/null設備

是個黑洞設備,它丟棄一切寫入其中數據,空設備通常被用于丟棄不需要的輸出流。記得當年用windows時候,有個類似的設備:NUL ,跟這個功能一樣。任何寫入該設備數據都會被丟棄掉。從這個里面讀取數據返回是空。將一些不用內容經常發送給這個設備,丟棄不需要的數據。

如:

[chengmo@centos5 shell]$ cat /dev/null[chengmo@centos5 shell]$ cat test.sh >/dev/null#讀該設備為空,寫入該設備數據都丟棄了

/dev/zero設備

在類UNIX 操作系統中, /dev/zero 是一個特殊的文件,當你讀它的時候,它會提供無限的空字符(NULL, ASCII NUL, 0x00)。其中的一個典型用法是用它提供的字符流來覆蓋信息,另一個常見用法是產生一個特定大小的空白文件。

如:

[chengmo@centos5 shell]$ dd if=/dev/zero of=testzero count=1024 bs=10241024+0 records in1024+0 records out1048576 bytes (1.0 MB) copied, 0.0107194 seconds, 97.8 MB/s#創建一個大小為1M文件,該文件一個塊是1024字節,一共是1024塊(剛好1M),用/dev/zero文件內容填充它。輸出創建到:testzero文件  [chengmo@centos5 shell]$dd if=/dev/zero of=/dev/磁盤分區#這個命令一定不要隨便用,有點象windows里面的粉碎文件工具。不過它是用/0x00填充整個分區。這樣做數據是不可以恢復的了。 [chengmo@centos5 shell]$cat /dev/zero>testinputzero#這個命令也不能隨便使用咯,/dev/zero設備一個特效是,如果你讀取的話,是一個死循環會輸出無窮的/x00,這樣你將創建一個用/x00填充的文件。如果你沒有限制該用戶磁盤配額。它將耗盡整個磁盤空間。

在linux資源配額限制里面,如果沒有現在普通用戶的磁盤空間利用,或內存使用。一個普通用戶就可以通過上面方法一會就塞滿整個磁盤。也可以通過while(true) {fork……}類程序,啟動無限線程,耗盡整個系統內存。

/dev/full設備

類Unix系統中,/dev/full(常滿設備)是一個特殊設備文件,總是在向其寫入時返回設備無剩余空間(錯誤碼為ENOSPC),讀取時則與/dev/zero相似,返回無限的空字符(NULL, ASCII NUL, 0x00)。這個設備通常被用來測試程序在遇到磁盤無剩余空間錯誤時的行為。

如:

[chengmo@centos5 shell]$ echo 'chengmo' >/dev/full-bash: echo: write error: 設備上沒有空間[chengmo@centos5 shell]$ echo $?1#命令執行返回錯誤

/dev/random[urandom]

在類UNIX操作系統中,/dev/random是一個特殊的設備文件,可以用作隨機數發生器或偽隨機數發生器。它允許程序訪問來自設備驅動程序或其它來源的背景噪聲。常用作隨機數發生器。具體參考:linux shell實現隨機數多種方法(date,random,uuid)

/dev/fd

記錄用戶打開的文件描述符

[chengmo@centos5 shell]$ ls /dev/fd/
0 1 2 3

詳細參考:

linux shell數據重定向(輸入重定向與輸出重定向)詳細分析 文件描述符介紹。

/dev/tcp[udp]/host/port

讀取該類形式設備,將會創建一個連接host主機port端口的tcp[upd]連接。打開一個socket通訊接口。

詳細使用可以參考:

linux shell 腳本實現tcp/upd協議通訊(重定向應用)

/dev/loop

在類UNIX操作系統中,Loop設備 可以把loop 文件,作為塊設備掛載使用。

如:

[chengmo@centos5 shell]$mount -o loop example.img /home/chengmo/img

#將img鏡像文件掛載到/home/chengmo/img目錄下面,有了這個設備,我們不需要通過虛擬光驅就可以讀虛擬磁盤格式的文件。

說了很多linux 特殊設備,其它象cpu,內存,磁盤,網絡,鍵盤,終端設備。跟我們windows里面常見差不多。有什么問題,歡迎交流!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线中文字幕日韩| 欧美激情综合色综合啪啪五月| 日韩欧美在线字幕| 精品福利在线看| 欧美情侣性视频| 国产精品电影在线观看| 久久久久久美女| 国产成人精品视频在线观看| 97福利一区二区| 亚洲色图18p| 成人春色激情网| 在线播放日韩欧美| 欧美日韩亚洲天堂| 久久精品人人做人人爽| 精品成人久久av| 国产精品扒开腿做爽爽爽视频| 中文字幕日韩在线视频| 美女久久久久久久| 在线视频精品一| 亚洲97在线观看| 日韩美女视频免费在线观看| 性色av一区二区三区红粉影视| 麻豆国产va免费精品高清在线| 日韩一级黄色av| 亚洲free性xxxx护士白浆| 午夜精品理论片| 日本高清视频精品| 国产成人亚洲综合青青| 欧美亚洲成人精品| 91中文字幕在线| 国产精品福利片| 欧美黄色片在线观看| 国产91精品在线播放| 91香蕉电影院| 欧美日韩国产区| 久久久久久久久国产精品| 亚洲bt天天射| 欧洲亚洲在线视频| 日本一区二三区好的精华液| 久久久在线视频| 亚洲人永久免费| 日韩久久精品电影| 亚洲激情自拍图| 久久国产色av| 国内外成人免费激情在线视频| 亚洲 日韩 国产第一| 一区二区三区视频观看| 国产精品欧美久久久| 91美女片黄在线观| 日韩极品精品视频免费观看| 中文字幕自拍vr一区二区三区| 久久久国产精品x99av| 欧美亚洲视频在线观看| 成人淫片在线看| 91高潮在线观看| 国产日韩中文在线| 日韩欧美综合在线视频| 韩国欧美亚洲国产| 久久成人精品电影| 精品福利免费观看| 欧美美女18p| 欧美在线视频一区| 欧美性猛交丰臀xxxxx网站| 亚洲国产美女精品久久久久∴| 在线亚洲欧美视频| 韩曰欧美视频免费观看| 欧美极品少妇全裸体| 国产欧美亚洲精品| 欧美精品日韩www.p站| 欧美电影在线观看完整版| 国产精品一区av| 亚洲四色影视在线观看| 久久久久久久久中文字幕| 97国产精品免费视频| 亚洲电影免费观看高清| 亚洲日韩欧美视频一区| 亚洲精品免费在线视频| 中文字幕日韩免费视频| 久久成年人免费电影| 国产成人精品视频在线| 欧美性xxxxx极品| 欧美华人在线视频| 1769国内精品视频在线播放| 久久国产精品视频| 成人网页在线免费观看| 亚洲免费福利视频| 日韩精品高清在线| 久久免费成人精品视频| 国产美女久久精品香蕉69| 91亚洲一区精品| 成人免费网站在线观看| 日韩中文在线中文网三级| 欧美www视频在线观看| 中文字幕无线精品亚洲乱码一区| 浅井舞香一区二区| 日韩动漫免费观看电视剧高清| 亚洲国产女人aaa毛片在线| 国产精品永久免费| 亚洲精品久久7777777| 中文字幕日韩av电影| 深夜精品寂寞黄网站在线观看| 亚洲欧美在线一区二区| 中文字幕精品久久| 日韩大陆毛片av| 日本国产高清不卡| 正在播放欧美一区| 国产精品自拍偷拍视频| 国产视频精品免费播放| 国产精品视频最多的网站| 国内精品小视频在线观看| 91av在线网站| 久久成年人免费电影| 亚洲一区二区久久久久久| 亚洲免费电影在线观看| 精品国产1区2区| 国产不卡一区二区在线播放| 久久亚洲影音av资源网| 日韩欧美在线免费| 日韩精品在线第一页| 国产一区二区三区网站| 亚洲精品国产精品久久清纯直播| 欧美裸体视频网站| 亚洲成人网久久久| 精品人伦一区二区三区蜜桃网站| 亚洲欧洲av一区二区| 国产精品999| 中文字幕国产精品久久| 国产婷婷97碰碰久久人人蜜臀| 成人精品在线观看| 91av在线网站| 岛国av一区二区| 亚洲精品视频免费在线观看| 亚洲性线免费观看视频成熟| 欧美国产视频日韩| 久久久久久久久久久免费精品| 538国产精品一区二区免费视频| 亚洲精品自在久久| 欧美成人亚洲成人| 亚洲精品视频久久| 日韩av有码在线| 精品亚洲一区二区三区在线观看| 亚洲欧美制服丝袜| 久久九九精品99国产精品| 97国产在线观看| 一个人www欧美| 另类美女黄大片| 日韩精品高清视频| 国产精品亚洲视频在线观看| 欧美精品18videos性欧| 国产一区二区欧美日韩| 日韩精品在线视频观看| 欧美电影免费观看高清| 一区二区三区www| 97在线视频免费观看| 91精品中国老女人| 久久精彩免费视频| 国产欧美久久久久久| 久久理论片午夜琪琪电影网| 97在线精品国自产拍中文| 国产精品一区二区久久久| 亚洲人线精品午夜| 久久精品国产v日韩v亚洲| 91欧美精品成人综合在线观看| 成人福利网站在线观看|