檔案系統:介面

檔案屬性(file attributes)

想像圖書館書籍封面上釘著的那張小小資料卡:書名、誰擁有、何時入館、有多厚、誰可以借閱。檔案也有一張同樣的卡片,由作業系統保管。這些就是檔案的屬性,也叫它的中繼資料(metadata):關於這個檔案的事實,和檔案的實際內容分開儲存。

一組典型的屬性包括名稱(人類可讀的標籤)、識別碼(作業系統內部使用的唯一編號,因為名稱可以重複使用)、類型(是文字、影像、程式等等)、大小(多少位元組)、位置(指向資料區塊所在處的指標)、保護資訊(誰可以讀、寫、執行)、以及好幾個時間戳記(建立、最後修改、最後存取的時間)。當你叫檔案管理員依日期排序或顯示某檔案的大小時,它讀的是這些屬性,而不是去開啟檔案。作業系統把它們存在一筆小的、固定大小的紀錄裡,這樣它就能便宜地回答關於檔案的問題,不必去掃描裡面的位元組。

為什麼重要:屬性讓系統能在不讀取檔案的情況下對檔案做判斷。備份工具可以跳過修改時間沒變的檔案;搜尋工具可以依類型篩選;權限位元甚至決定你是否被允許開啟它。一個微妙之處:名稱只是其中一個屬性,而在許多系統裡它存在目錄項目而非檔案自己的中繼資料紀錄中——正是這一點使得單一檔案能擁有好幾個不同的名稱(硬連結)。

對一個檔案執行詳細列表,可能顯示:rwxr-xr-x、擁有者 alice、群組 staff、大小 2048 位元組、修改時間 6 月 24 日 18:00、名稱 report.pdf。這裡每一欄都是作業系統存下的屬性;沒有任何一項需要去讀取這個 PDF 的內容。

中繼資料和資料分開存放;你不必開啟檔案就能讀到這一切。

名稱通常不是檔案自己的中繼資料紀錄的一部分,而是指向它的目錄項目的一部分。正是這種分離,使得一個檔案能同時擁有好幾個名稱。

又稱
file metadata檔案中繼資料