<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux下你還知道這些特殊文件?

          共 1938字,需瀏覽 4分鐘

           ·

          2020-01-09 23:28

          25f154fc40408afa10def4767a0e8713.webp113c81ce7823d8427da47a4d378c1a00.webp


          ? 程序員進(jìn)階架構(gòu)師必備資源免費(fèi)送 ?


          我們都知道Linux下一切皆文件,主要有


          • - 普通文件
          • d ? ?目錄
          • l 符號(hào)鏈接
          • s ? ?套接字
          • b ? ?塊設(shè)備
          • c ? ?字符設(shè)備
          • p ? ?管道
          這么幾種文件。
          這里的前綴字符可以通過ls命令觀察到:
          $?ls?-l?test.log
          -rw-r--r--?1?root?root?33?Nov?17?17:03?test.log
          它的結(jié)果最前面是-,因此它是普通文件。
          $?ls?-al?/dev/null
          crw-rw-rw-?1?root?root?1,?3?Sep?11?20:33?/dev/null
          它的結(jié)果最前面是c,因此它是字符設(shè)備。文件簡單介紹幾種字符設(shè)備文件,它能在我們功能測試的時(shí)候提供很好的幫助。

          /dev/null

          /dev/null 可無限接收數(shù)據(jù),你可以認(rèn)為是一個(gè)黑洞,因此如果我們需要丟棄某些終端輸出,可以重定向到這里:
          $?echo?"shouwangxiansheng"?>?/dev/null
          所以如果你有不需要的數(shù)據(jù)可以盡情的往這里寫。

          /dev/full

          它在讀取時(shí)會(huì)讀取到連續(xù)的NUL(零值)字節(jié)流,而在寫入的時(shí)候,會(huì)返回磁盤空間已滿的結(jié)果,后者在測試你的程序的時(shí)候會(huì)有幫助,即測試磁盤滿的場景:
          $?echo?"bianchengzhuji"?>?/dev/full
          -bash:?echo:?write?error:?No?space?left?on?device

          /dev/zero

          和/dev/null類似,向其中寫入時(shí)會(huì)丟棄所有數(shù)據(jù),但是讀取時(shí),會(huì)產(chǎn)生NUL(零值)字節(jié)流。
          $?cat?/dev/zero?|od?-x?
          0000000?0000?0000?0000?0000?0000?0000?0000?0000

          /dev/random

          /dev/random可以提供隨機(jī)數(shù)據(jù)流,它保證數(shù)據(jù)的隨機(jī)性,但是讀取時(shí)會(huì)造成等待,例如
          $?cat?/dev/random?|?od?-x
          0000000?2b07?daac?42f4?e1fd?fb62?2098?870e?e0af
          0000020?3022?2099?e5da?4e1c?d6db?548b?a979?1217
          0000040?3777?bb6a?957d?1279?ab29?e8a4?6a36?ecca
          0000060?39ec?2285?126c?30ea?ea67?1526?5e4a?2dd9
          稍過會(huì)才會(huì)出現(xiàn)數(shù)據(jù),為了便于查看,我們利用od命令查看其十六進(jìn)制內(nèi)容。

          /dev/urandom

          從名字就可以看出來,是用來產(chǎn)生隨機(jī)數(shù)據(jù)的。它的產(chǎn)生速度很快,但是數(shù)據(jù)的隨機(jī)性不如/dev/random
          cat?/dev/urandom?|?od?-x
          0547560?f43e?696a?8936?2b27?36c8?4446?2802?1d47
          0547600?b8af?249d?aae9?edbf?8971?b1d1?0c73?3e2d
          0547620?237b?9a81?6348?cb2a?1972?4486?028a?3573
          0547640?1690?c388?64e1?aec1?d5f4?1964?bbb9?192f
          0547660?f242?7194?51ba?62a3?fc13?ff53?fb50?e3d8
          0547700?ef32?3658?b335?75ee?62de?4096?6468?c979
          0547720?01b9?c233?878d?12fc?5cfa?5691?89e1?e1f9

          /dev/pts

          /dev/pts是遠(yuǎn)程登陸(telnet,ssh等)后創(chuàng)建的控制臺(tái)設(shè)備文件所在的目錄。有什么用呢?舉個(gè)例子,你打開一個(gè)終端,獲取到當(dāng)前的pts:
          $?tty
          /dev/pts/0
          然后你又打開一個(gè),輸入:
          $?echo?"hahahaha">/dev/pts/0
          你就會(huì)發(fā)現(xiàn)內(nèi)容被打印到前面一個(gè)終端了。通常我們運(yùn)行一個(gè)程序,其printf的打印都會(huì)打印在當(dāng)前終端。

          總結(jié)

          實(shí)際上在/dev下還有非常多的特殊文件,但是不一一介紹。以上特殊文件在一定場合下能幫助我們開發(fā)或者測試。

          85467f41bf4faa7eefc0a9e52b6a67a0.webp


          -------------------------
          知乎:良許LinuxB站:程序員良許抖音:良許微博:良許Linux


          本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲取!


          推薦閱讀:

          看示例學(xué)awk

          Linux的inode的理解

          github 項(xiàng)目搜索技巧-讓你更高效精準(zhǔn)地搜索項(xiàng)目


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。?!


          瀏覽 92
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码视频免费看 | 台湾午夜成人节目在线播放 | 依人大香蕉乱在线 | 人人操五月天 | 九色视频免费看 |