Linux檔案種類與擴展名(2013.09.03)
檔案種類:
正規檔案(regular file ): 第一個字符為 [ -],例如 [-rwxrwxrwx ]。另外,依照檔案的內容,又大略可以分為:
純文本檔(ASCII)
二進制文件(binary)
數據格式文件(data)
目錄(directory): 第一個字符為 [ d ],例如 [drwxrwxrwx]。
連結檔(link): 就是類似 Windows 系統底下的快捷方式啦! 第一個屬性為 [ l ](英文 L 的小寫),例如[lrwxrwxrwx]。
設備與裝置文件(device): 通常又分為兩種:
區塊(block)設備檔 :就是一些儲存數據, 以提供系統隨機存取的接口設備,舉例來說,硬盤與軟盤等就是! 你可以隨機的在硬盤的不同區塊讀寫,這種裝置就是成組設備 !你可以自行查一下/dev/sda 看看, 會發現第一個屬性為[ b ],例如[brwxrwxrwx]。
字符(character)設備文件:亦即是一些串行端口的接口設備, 例如鍵盤、鼠標等等!這些設備的特色就是『一次性讀取』的,不能夠截斷輸出。 舉例來說,你不可能讓鼠標『跳到』另一個畫面,而是『滑劢』到另一個地方啊!第一個屬性為 [ c ],例如[crwxrwxrwx]。
資料接口文件(sockets): 既然被稱為數據接口文件, 想當然爾,這種類型的檔案通常被用在網絡上的數據承接了。我們可以啟動一個程序來監聽客戶端的要求, 而客戶端就可以透過這個 socket 來進行數據的溝通了。第一個屬性為 [ s ], 最常在/var/run 這個目錄中看到這種文件類型了,例如[srwxrwxrwx]。
數據輸送文件(FIFO, pipe): FIFO 也是一種特殊的文件類型,他主要的目的在解決多個程序同時存取一個檔案所造成的錯誤問題。 FIFO 是 first-in-first-out 的縮寫。第一個屬性為[p] ,例如[prwxrwxrwx]。
檔案擴展名:
基本上,Linux 的檔案是沒有所謂的『擴展名』的,,一個 Linux 檔案能不能被執行,與他的第一欄的十個屬性有關, 與文件名根本一點關系也沒有,雖然如此,不過我們依然希望能夠通過一些擴展名來知道該文件大體的作用,底下有數種常用的擴展名:
*.sh : 腳本或批處理文件 (scripts),因為批處理文件為使用 shell 寫成的,所以擴展名就是.sh;
*Z, *.tar, *.tar.gz, *.zip, *.tgz: 經過打包的壓縮文件。這是因為壓縮軟件分別為 gunzip, tar 等等的,由於不同的壓縮軟件,而取其相關的擴展名!
*.html, *.php:網頁相關檔案。