顏色 |
檔案類型 |
##藍色 | 目錄 |
白色 | 一般檔案 |
#淺藍色 | #連結 |
綠色 | 可執行檔 |
#紅色 | 壓縮檔 |
黃色 | 裝置檔案 |
灰色 | #其他檔案 |
紅色閃爍 | 連結的檔案有問題 |
#
Linux系統的7種文件類型
Linux 中一切皆為文件,文件類型也有多種。透過ls -l指令可以查看檔案屬性訊息,其中行首第一個字元即代表該檔案的檔案類型。
Linux系統中總共有七種檔案類型,以下列出了七種檔案類型及代表對應類型的字元:
1. 普通檔案
使用ls -l 指令後,第一列第一個字元為"-" 的文件為普通文件,如上圖所示,普通文件一般為灰色字體,綠色字體的是可執行文件,紅色字體的是壓縮文件。
檔案的權限:
以普通檔案為例,使用ls -l 指令,可以看到結果的第一列是-rwxrwxrwx 的形式,其中第一個字符"-" 表示這個文件為普通文件,它也可以是其他的字符,不同的字符代表不同類型的文件。其後的一串字元顯示了該檔案的權限,其中:
1)r 表示該檔案具有可讀權限,若該位置為"-" ,則表示檔案無法讀取;
2)w 表示該檔案具有寫入權限,若該位置為"-" ,則表示檔案不可寫入;
3)x 表示該檔案具有可執行權限,若該位置為"-" ,則表示文件不具有可執行權限;
建立一個普通文件,可以使用touch 指令來建立一個文件:
touch newfile
2. 目錄文件
Linux 中的目錄也是文件,目錄文件中保存著該目錄下其他文件的inode 號和文件名等信息,目錄文件中的每個數據項都是指向某個文件inode號的鏈接,刪除檔名就等於刪除與之對應的連結。目錄檔案的字體顏色是藍色,使用 ls -l 指令查看,第一個字元為"d"(directory)。
目錄檔案的權限:
1)r 顯示該目錄檔案具有可讀權限,即可以使用ls 指令查看該目錄的儲存情況;
2)w 顯示該目錄檔案具有寫入權限,即可以往該目錄下新增、修改、刪除檔案;
3)x 表示該目錄檔案具有可執行文件,即可以使用cd 指令進入到該目錄下。
建立一個目錄,可以使用mkdir 指令來建立一個目錄檔案:
mkdir directory
3. 裝置檔案
Linux中的硬體設備如硬碟、滑鼠等也都被表示為文件,即為設備文件。裝置檔案一般存放在/dev/ 目錄下,檔案名稱為黃色,如下:
#裝置檔案分為以下兩種:
-
#區塊裝置檔案:
區塊裝置檔案支援以區塊(block)為單位的存取方式。在 EXT4 檔案系統中,一個 block 通常為 4KB 的大小,也就是說每次可以存取 4096(或其整數倍) 個位元組的資料。應用程式可以隨機存取區塊設備檔案的數據,程式可以自行確定數據的位置,硬碟、軟碟等都是區塊裝置。使用 ls -l 指令查看,區塊裝置檔案的第一個字元是 "b"(block)。
-
字元裝置檔案:
字元裝置檔案以位元組流的方式進行訪問,由字元裝置驅動程式來實現這種特性,這通常要用到open、close、read、write 等系統呼叫。字元終端機、串列埠和鍵盤等就是字元設備。另外,由於字元裝置檔案是以檔案流的方式進行存取的,因此可以順序讀取,但通常不支援隨機存取。使用 ls -l 指令查看,字元裝置檔案的第一個字元是 "c"(char)。
4. 連結檔案
#連結檔案一般指的是一個檔案的軟連結(或符號連結) ,使用ls -l 指令查看,第一個符號為 "l",檔案名稱為淺藍色,如下:
這裡,test_softlink 就是一個連結文件,從結果上還可以看到它是文件test.txt 的軟鏈接,刪除原始文件test.txt 的話,對應的軟鏈接文件test_softlink 也會消失。可以使用ln 指令建立一個檔案的連結檔:
軟體連結
軟連結(又稱符號連結),使用ln -s file file_softlink 指令可以建立一個文件的軟連結檔:
ln -s test.txt test_softlink
软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。
硬链接
硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失;对其中任何一个进行更改,另一个的内容也会随之改变,因为这两个本质上是同一个文件,只是名字不同。使用ls -i 命令查看,可以发现硬链接的两个文件的 inode 号是一样的:
同样的,使用ln 命令可以创建一个文件的硬链接:
ln test.txt test_hardlink
5. 管道文件
管道文件主要用于进程间通信,使用ls -l 命令查看,第一个字符为 "p"(pipe)。可以使用 mkfifo 命令来创建一个管道文件:
mkfifo fifo_file
在FIFO 中可以很好地解决在无关进程间数据交换的要求,FIFO 的通信方式类似于在进程中使用文件来传输数据,只不过 FIFO 类型的文件同时具有管道的特性,在读取数据时,FIFO 管道中同时清除数据。
6. 套接字文件
套接字文件主要用于通信,特别是在网络上。使用ls -l 命令查看,第一个字符为 "s"(socket)。
相关推荐:《Linux视频教程》