Files

字元/塊文件的大小

  • March 9, 2016

為什麼字元或塊文件的大小以逗號分隔?

crw-rw-rw-. 1 root root 1, 3 Mar  8 10:15 /dev/null

brw-rw----. 1 root disk 8, 1 Mar  8 10:15 /dev/sda1

文件大小是儲存設備中佔用的字節數。對於字元或塊文件,大小是多少?你能用逗號解釋一下它的表示嗎?

這些值無論如何都不代表大小,而是參考某種設備標識。

看看 Linux 文件項目頁面,他們說:

設備由類型定義,例如“塊”或“字元”,以及“主要”和“次要”編號。主要編號用於對設備進行分類,次要編號用於標識特定的設備類型。例如,連接到主控制器的所有 IDE 設備的主設備號都是 3。主設備和從設備以及各個分區通過使用次設備號進一步定義。這些是以下顯示中日期之前的兩個數字:

brw-rw----    1 root     disk       3,   0 Mar 15  2002 /dev/hda 
brw-rw----    1 root     disk       3,   1 Mar 15  2002 /dev/hda1 
brw-rw----    1 root     disk       3,  10 Mar 15  2002 /dev/hda10 
brw-rw----    1 root     disk       3,  11 Mar 15  2002 /dev/hda11 
brw-rw----    1 root     disk       3,  12 Mar 15  2002 /dev/hda12 
brw-rw----    1 root     disk       3,  64 Mar 15  2002 /dev/hdb 
brw-rw----    1 root     disk       3,  65 Mar 15  2002 /dev/hdb1 
brw-rw----    1 root     disk      22,   0 Mar 15  2002 /dev/hdc 
brw-rw----    1 root     disk      22,  64 Mar 15  2002 /dev/hdd

hda 和 hdb 設備的主設備號都是 3。當然,每個特定分區的次設備號都會改變。可以通過查看 /usr/src/linux/include/linux/major.h 文件的內容來檢查每個主編號類別的定義。devices.txt 還記錄了主要和次要編號。它位於 /usr/src/linux/Documentation 目錄中。該文件定義了主要編號。幾乎所有文件設備都是在安裝時預設創建的。但是,您始終可以使用 mknod 命令或位於 /dev 目錄本身的 MAKEDEV 腳本來創建設備。通過提供要創建的設備、設備類型(塊或字元)以及主要和次要編號,可以使用此實用程序創建設備。

引用自:https://unix.stackexchange.com/questions/268647