Linux文件類型及拓展名
一. 文件類型
Linux文件類型常見的有:普通文件、目錄文件、字符設備文件和塊設備文件、符號鏈接文件等。
1. 普通文件
我們用ls -lh來查看某個文件的屬性,可以看到有類似-rwxrwxrwx,值得注意的是第一個符號是-,這樣的文件在Linux中就是普通文件。依照文件的內容,可分爲:
(1)純文本文件(ASCII):
這是Linux系統中最多的一種文件類型,稱爲純文本文件。內容可以直接讀取,例如數字、字母等。
(2)二進制文件(binary):
Linux系統僅認識且可以執行二進制文件(binary file)。Linux當中的可執行文件(scripts, 文字型批處理文件不算)就是這種格式的文件,例如各種命令。
(3)數據格式文件(data):
有些程序在運作的過程當中會讀取某些特定格式的文件,那些特定格式的文件可以被稱爲數據文件 (data file)。例如Linux使用者登錄時,都會將登錄的數據記錄在 /var/log/wtmp文件內,該文件是一個data file,可透過last讀取相關內容。
2. 目錄文件
當我們在某個目錄下執行ls -l,看到有類似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux是一個比較特殊的文件。它的第一個字符是d。創建目錄的命令可以用 mkdir 命令,或cp命令,cp可以把一個目錄複製爲另一個目錄。刪除用rm 或rmdir命令。
3. 字符設備或塊設備文件
/dev目錄,會看到類似如下的:
[root@test dev]# ls -l tty
crw-rw-rw- 1 root tty 5, 0 Feb 18 23:12 tty
[root@test dev]# ls -l ram0
brw-rw---- 1 root disk 1, 0 Feb 18 23:12 ram0
/dev/tty的屬性是 crw-rw-rw-,前面第一個字符是c,這表示字符設備文件。 /dev/sda1 的屬性是 brw-r----- ,前面的第一個字符是b,這表示塊設備,如硬盤、光驅等設備。
目前Linux發行版本中,一般不用自己來創建設備文件。因爲這些文件是和內核相關聯的。與系統周邊及儲存等相關的一些文件, 通常都集中在/dev這個目錄之下。通常又分爲兩種:
區塊(block)設備文件 :
就是一些儲存數據, 以提供系統隨機存取的接口設備,例如:硬盤、軟盤等。
字符(character)設備文件:
一些串行端口的接口設備,例如鍵盤、鼠標等。這些設備一次性讀取的,不能夠截斷輸出。
4. 數據接口文件(sockets)
數據接口文件(或者:套接口文件),這種類型的文件通常被用在網絡上的數據承接。我們可以啓動一個程序來監聽客戶端的要求, 而客戶端就可以透過這個socket來進行數據的交互。第一個屬性爲 [s],最常在/var/run目錄中看到該類文件。例如:MySQL啓動後,會產生一個mysql.sock的文件。
5. 符號鏈接文件
當我們查看文件屬性時,會看到有類似 lrwxrwxrwx,第一個字符是l,這類文件是鏈接文件。是通過ln -s 源文件名 新文件名 。
6. 數據輸送文件(FIFO,pipe)
FIFO也是一種特殊的文件類型,他主要的目的在解決多個程序同時存取一個文件所造成的錯誤問題。FIFO是first-in-first-out的縮寫。第一個屬性爲[p]。
二. Linux文件擴展名
1. 擴展名類型
Linux的文件是沒有所謂的擴展名的,一個Linux文件能不能被執行,與它的屬性有關,與文件名無關。
雖然如此,不過我們仍然希望可以藉由擴展名來了解該文件是什麼,所以,通常我們還是會以適當的擴展名來表示該文件屬於什麼類型。常用的擴展名如下:
(1)*.sh:腳本或批處理文件 (scripts),因爲批處理文件爲使用shell寫成的,所以擴展名就編成 .sh 。
(2)*Z, *.tar, *.tar.gz, *.zip, *.tgz: 經過打包的壓縮文件。
(3)*.html, *.php:網頁相關文件,分別代表HTML與PHP的網頁文件。
2. Linux文件名長度限制
在Linux系統中,使用預設的ext2/ext3文件系統時,針對文件名長度限制爲:
(1)單一文件或目錄的最大文件名爲255個字符;
(2)包含完整路徑名稱及目錄(/)完整文件名爲 4096 個字符。
3. Linux文件名的字符的限制
Linux系統文件文件名稱嚴格區分字符大小寫,文件名可以使用除斜線(/)以外的任意字符。但由於Linux在文字接口下的一些指令操作關係,一般Linux系統文件命名時,避免一些特殊字符,比如:* ? > < ; & ! [ ] | \ ' " ` ( ) { }等符號。這些符號在文字接口下,存在特殊意義。文件名的開頭爲小數點“.”時, 代表這個文件爲隱藏文件。同時,由於指令下達當中,常常會使用到 -option 之類的選項, 所以最好也避免將文件檔名的開頭以 -或+來命名。
個人公衆號: