教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Linux文件特點(diǎn)-一切皆文件

更新時(shí)間:2019年04月02日10時(shí)54分 來源:linux培訓(xùn)機(jī)構(gòu) 瀏覽次數(shù):

    Linux 中所有內(nèi)容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目錄(Windows 下稱為文件夾)是文件,硬件設(shè)備(鍵盤、監(jiān)視器、硬盤、打印機(jī))是文件,就連套接字(socket)、網(wǎng)絡(luò)通信等資源也都是文件。
》》》傳智播客linux培訓(xùn)班,帶你從新手到大神,咨詢右下角窗口咨詢開班時(shí)間《《《
傳智播客linux培訓(xùn)

    Linux系統(tǒng)中,文件具體可分為以下幾種類型:

    1) 普通文件

    類似 mp4、pdf、html 這樣,可直接拿來使用的文件都屬于普通文件,Linux 用戶根據(jù)訪問權(quán)限的不同可以對(duì)這些文件進(jìn)行查看、刪除以及更改操作。

    2) 目錄文件

    對(duì)于用慣 Windows 系統(tǒng)的用戶來說,目錄是文件可能不太好理解。
    Linux 系統(tǒng)中,目錄文件包含了此目錄中各個(gè)文件的文件名以及指向這些文件的指針,打開目錄等同于打開目錄文件,只要你有權(quán)限,可以隨意訪問目錄中的任何文件。
    注意,目錄文件的訪問權(quán)限,同普通文件的執(zhí)行權(quán)限,是一個(gè)意思。

    3) 字符設(shè)備文件和塊設(shè)備文件

    這些文件通常隱藏在 /dev/ 目錄下,當(dāng)進(jìn)行設(shè)備讀取或外設(shè)交互時(shí)才會(huì)被使用。
    例如,磁盤光驅(qū)屬于塊設(shè)備文件,串口設(shè)備則屬于字符設(shè)備文件。
    Linux 系統(tǒng)中的所有設(shè)備,要么是塊設(shè)備文件,要么是字符設(shè)備文件。

    4) 套接字文件(socket)

    套接字文件一般隱藏在 /var/run/ 目錄下,用于進(jìn)程間的網(wǎng)絡(luò)通信。

    5) 符號(hào)鏈接文件(symbolic link)

    類似與 Windows 中的快捷方式,是指向另一文件的簡介指針(也就是軟鏈接)。

    6) 管道文件(pipe)

    主要用于進(jìn)程間通信。例如,使用 mkfifo 命令創(chuàng)建一個(gè) FIFO 文件,與此同時(shí),啟用進(jìn)程 A 從 FIFO文件讀數(shù)據(jù),啟用進(jìn)程 B 從 FIFO文件中寫數(shù)據(jù),隨寫隨讀。

    “一切皆文件”的利弊

    和 Windows 系統(tǒng)不同,Linux 系統(tǒng)沒有 C 盤、D 盤、E 盤那么多的盤符,只有一個(gè)根目錄(/),所有的文件(資源)都存儲(chǔ)在以根目錄(/)為樹根的樹形目錄結(jié)構(gòu)中。
    這樣做最明顯的好處是,開發(fā)者僅需要使用一套 API 和開發(fā)工具即可調(diào)取 Linux 系統(tǒng)中絕大部分的資源。舉個(gè)簡單的例子,Linux 中幾乎所有讀(讀文件,讀系統(tǒng)狀態(tài),讀 socket,讀 PIPE)的操作都可以用 read 函數(shù)來進(jìn)行;幾乎所有更改(更改文件,更改系統(tǒng)參數(shù),寫 socket,寫 PIPE)的操作都可以用 write 函數(shù)來進(jìn)行。
    不利之處在于,使用任何硬件設(shè)備都必須與根目錄下某一目錄執(zhí)行掛載操作,否則無法使用。我們知道,本身 Linux 具有一個(gè)以根目錄為樹根的文件目錄結(jié)構(gòu),每個(gè)設(shè)備也同樣如此,它們是相互獨(dú)立的。如果我們想通過 Linux 上的根目錄找到設(shè)備文件的目錄結(jié)構(gòu),就必須將這兩個(gè)文件系統(tǒng)目錄合二為一,這就是掛載的真正含義。
linux文件特點(diǎn)
0 分享到:
和我們?cè)诰€交談!