linux 文件類型

linux 文件類型

在介紹屬性時,提到了最前面的標誌(d或 -)可以表示目錄或文件,那就是不同的文件種類。Linux的文件種類主要有下面這幾種: 普通文件(regular file):就是一般我們存取的文件,由ls -al顯示出來的屬性中,第一個屬性爲 [-],例如 [-rwxrwxrwx]。另外,依照文件的內容,又大致可以分爲:

純文本文件(ASCII):這是Unix系統中最多的一種文件類型,之所以稱爲純文本文件,是因爲內容爲我們可以直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬於這種文件類型。舉例來說,使用命令“cat ~/.bashrc”就可以看到該文件的內容(cat是將文件內容讀出來)。

二進制文件(binary):我們在GNU發展史中提過,系統其實僅認識且可以執行二進制文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。

數據格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱爲數據文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數據記錄在 /var/log/wtmp文件內,該文件是一個數據文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因爲它是屬於一種特殊格式的文件。

目錄(directory):就是目錄,第一個屬性爲 [d],例如 [drwxrwxrwx]。

連接文件(link):類似Windows下面的快捷方式。第一個屬性爲 [l],例如 [lrwxrwxrwx]。

設備與設備文件(device):與系統外設及存儲等相關的一些文件,通常都集中在 /dev目錄。通常又分爲兩種:

塊(block)設備文件:就是存儲數據以供系統存取的接口設備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。第一個屬性爲 [b]。

字符(character)設備文件:即串行端口的接口設備,例如鍵盤、鼠標等等。第一個屬性爲 [c]。

套接字(sockets):這類文件通常用在網絡數據連接。我們可以啓動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性爲 [s],最常在 /var/run目錄中看到這種文件類型。

管道(FIFO, pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性爲 [p]。

那麼,使用“ls -al”命令,就可以簡單通過判斷每一個文件的第一個屬性來了解這個文件是何種類型。

除了設備文件是系統中很重要的文件,最好不要隨意修改之外(通常它也不會讓你修改),另一個比較有趣的文件就是連接文件。如果常常將應用程序放到桌面,就 應該知道在Windows下面有所謂的“快捷方式”。同樣,可以將Linux 下的連接文件簡單視爲一個文件或目錄的快捷方式。套接字與管道文件比較難理解,因爲它們與進程(process)密切相關,到將來了解進程(第17章)之 後,再回來查看吧。此外,也可以通過man fifo及man socket來查看系統說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章