精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux中的mknod命令的詳細(xì)解釋

      linux中的mknod命令的詳細(xì)解釋

      時(shí)間: 佳洲1085 分享

      linux中的mknod命令的詳細(xì)解釋

        linxu下的mknod命令主要是用于創(chuàng)建Linux中的字符設(shè)備文件和塊設(shè)備文件。下面由學(xué)習(xí)啦小編為大家整理了linux的mknod命令的詳細(xì)解釋的相關(guān)知識(shí),希望對(duì)大家有幫助!

        一、linux中的mknod命令的詳細(xì)解釋

        mknod命令用于創(chuàng)建Linux中的字符設(shè)備文件和塊設(shè)備文件。

        語(yǔ)法

        mknod(選項(xiàng))(參數(shù))

        選項(xiàng)

        -Z:設(shè)置安全的上下文;

        -m:設(shè)置權(quán)限模式;

        -help:顯示幫助信息;

        --version:顯示版本信息。

        參數(shù)

        文件名:要?jiǎng)?chuàng)建的設(shè)備文件名;

        類型:指定要?jiǎng)?chuàng)建的設(shè)備文件的類型;

        主設(shè)備號(hào):指定設(shè)備文件的主設(shè)備號(hào);

        次設(shè)備號(hào):指定設(shè)備文件的次設(shè)備號(hào)。

        二、Linux中的mknod命令用法詳解

        mknod 的標(biāo)準(zhǔn)形式為: mknod DEVNAME {b | c} MAJOR MINOR

        1,DEVNAME是要?jiǎng)?chuàng)建的設(shè)備文件名,如果想將設(shè)備文件放在一個(gè)特定的文件夾下,就需要先用mkdir在dev目錄下新建一個(gè)目錄;

        2, b和c 分別表示塊設(shè)備和字符設(shè)備:

        b表示系統(tǒng)從塊設(shè)備中讀取數(shù)據(jù)的時(shí)候,直接從內(nèi)存的buffer中讀取數(shù)據(jù),而不經(jīng)過(guò)磁盤(pán);

        c表示字符設(shè)備文件與設(shè)備傳送數(shù)據(jù)的時(shí)候是以字符的形式傳送,一次傳送一個(gè)字符,比如打印機(jī)、終端都是以字符的形式傳送數(shù)據(jù);

        3,MAJOR和MINOR分別表示主設(shè)備號(hào)和次設(shè)備號(hào):

        為了管理設(shè)備,系統(tǒng)為每個(gè)設(shè)備分配一個(gè)編號(hào),一個(gè)設(shè)備號(hào)由主設(shè)備號(hào)和次設(shè)備號(hào)組成。主設(shè)備號(hào)標(biāo)示某一種類的設(shè)備,次設(shè)備號(hào)用來(lái)區(qū)分同一類型的設(shè)備。linux操作系統(tǒng)中為設(shè)備文件編號(hào)分配了32位無(wú)符號(hào)整數(shù),其中前12位是主設(shè)備號(hào),后20位為次設(shè)備號(hào),所以在向系統(tǒng)申請(qǐng)?jiān)O(shè)備文件時(shí)主設(shè)備號(hào)不好超過(guò)4095,次設(shè)備號(hào)不好超過(guò)2^20 -1。

        .

        下面,我們就可以用mknod命令來(lái)申請(qǐng)?jiān)O(shè)備文件了。

        mkdir -p /dev/cobing

        mknod /dev/cobing/mydev1 c 128 512

        三、Linux中的mknod命令知識(shí)擴(kuò)展

        Linux的設(shè)備管理是和文件系統(tǒng)緊密結(jié)合的,各種設(shè)備都以文件的形式存放在/dev目錄 下,稱為設(shè)備文件。應(yīng)用程序可以打開(kāi)、關(guān)閉和讀寫(xiě)這些設(shè)備文件,完成對(duì)設(shè)備的操作,就像操作普通的數(shù)據(jù)文件一樣。

        為了管理這些設(shè)備,系統(tǒng)為設(shè)備編了號(hào),每 個(gè)設(shè)備號(hào)又分為主設(shè)備號(hào)和次設(shè)備號(hào)。主設(shè)備號(hào)用來(lái)區(qū)分不同種類的設(shè)備,而次設(shè)備號(hào)用來(lái)區(qū)分同一類型的多個(gè)設(shè)備。對(duì)于常用設(shè)備,Linux有約定俗成的編 號(hào),如硬盤(pán)的主設(shè)備號(hào)是3。

        Linux為所有的設(shè)備文件都提供了統(tǒng)一的操作函數(shù)接口,方法是使用數(shù)據(jù)結(jié)構(gòu)struct file_operations。這個(gè)數(shù)據(jù)結(jié)構(gòu)中包括許多操作函數(shù)的指針,如open()、close()、read()和write()等,但由于外設(shè) 的種類較多,操作方式各不相同。Struct file_operations結(jié)構(gòu)體中的成員為一系列的接口函數(shù),如用于讀/寫(xiě)的read/write函數(shù)和用于控制的ioctl等。

        打開(kāi)一個(gè)文件就是調(diào)用這個(gè)文件file_operations中的open操作。不同類型的文件有不同的file_operations成員函數(shù),如普通的磁盤(pán)數(shù)據(jù)文件, 接口函數(shù)完成磁盤(pán)數(shù)據(jù)塊讀寫(xiě)操作;而對(duì)于各種設(shè)備文件,則最終調(diào)用各自驅(qū)動(dòng)程序中的I/O函數(shù)進(jìn)行具體設(shè)備的操作。這樣,應(yīng)用程序根本不必考慮操作的是設(shè) 備還是普通文件,可一律當(dāng)作文件處理,具有非常清晰統(tǒng)一的I/O接口。所以file_operations是文件層次的I/O接口。

      3635514