linux中什麼是檔案
1、Linux中所有內容都是以檔案的形式保存和管理,即:一切皆文件。
普通檔案是檔案。
目錄(在win下稱為資料夾)是檔案。
硬體設備(鍵盤、硬碟、印表機)是檔案。
套接字(socket)、網路通訊等資源也都是檔案。
2、檔案類型:
1) 普通檔案
類似mp4、jgp、html這樣,可直接拿來使用的檔案都屬於普通文件。
2) 目錄檔案
習慣win系統的使用者來說,目錄是檔案可能不太好接受。
Linux系統中,目錄檔案包含了此目錄中各個檔案的檔案名稱以及指向這些檔案的指針,開啟目錄等同於開啟目錄檔案。
即:只要有權限,可以隨意存取目錄中的任何檔案。
vim 目錄名稱
3) 字元裝置檔案與區塊裝置檔案
#通常隱藏在/dev/目錄下,當進行裝置讀取或外設互動時才會被使用。
例如:磁碟光碟機屬於區塊裝置文件,串列裝置則屬於字元裝置檔案。
4) 套接字檔案(socket)
套接字檔案一般隱藏在 /var/run/目錄下,用於進程間的網路通訊。
5) 符號連結檔案(symbolic link)
類似與win中的捷徑,是指向另一個檔案的指標(軟連結)。
6) 管道檔案(pipe)
主要用於進程間通訊。
例如:使用mkfifo指令建立FIFO文件,同時啟用進程A從FIFO文件讀取數據,啟用進程B從FIFO文件寫數據,隨寫隨讀。
3、一切皆檔案的優缺點:
與Windows 系統不同,Linux 系統沒有C磁碟、D磁碟、E磁碟那麼多的磁碟符,只有一個根目錄(/),所有的檔案(資源)都儲存在以根目錄(/)為樹根的樹狀目錄結構中。
(1)這樣做最明顯的好處是,開發者只需要使用一套 API 和開發工具即可調取 Linux 系統中絕大部分的資源。舉
個簡單的例子,Linux 中幾乎所有讀取(讀取文件,讀系統狀態,讀socket,讀PIPE)的操作都可以用read函數來進行;幾乎所有更改(更改文件,更改系統參數,寫socket,寫PIPE)的操作都可以用write函數來進行。
(2)不利之處在於,使用任何硬體設備都必須與根目錄下某一目錄執行掛載操作,否則無法使用。我們知道,本身Linux具有一個以根目錄為樹根的文件目錄結構,每個設備也同樣如此,它們是相互獨立的。如果我們想要透過Linux上的根目錄找到裝置檔案的目錄結構,就必須將這兩個檔案系統目錄合而為一,這就是掛載的真正意義。
推薦:linux系統入門
以上是linux中什麼是文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!