改變 FAT 檔案的屬性

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

FAT 檔案系統中每個檔案主要有以下幾個屬性 (attribute):
  • 唯讀 (r, Read-only) - 檔案只可以被讀取而不能被寫入或刪除。
  • 隱藏 (h, Hidden) - Windows/MS-DOS 系統預設不會列出此檔案。
  • 系統 (s, System) - 檔案為系統檔案 (system file),Windows/MS-DOS 系統預設不會列出此檔案。
  • 卷宗標簽 (v, Volume Label) - 表示有關檔案項目實際為一個 volume label (不可以更變屬性),系統會略過此項目。
  • 目錄 (d, Directory) - 表示有關檔案項目實際為一個子目錄 (不可以更變屬性)
  • 封存 (a, Archive) - 檔案需要被封存。FAT 檔案系統上的一般檔案預設會開啟封存屬性,當檔案被 XCOPY 等命令備份後,其封存屬性會被關閉,直至檔案內容被更改時才再開啟封存屬性。這樣,XCOPY 等命令可以使用封存屬性判斷檔案在上次備份後內容是否有被改動,這次是否需要備份。

現時的 GNU/Linux 可以使用 chmod -w 檔案名稱 開啟唯讀屬性 (Read-only attribute) 或 chmod +w 檔案名稱 關閉,但其他屬性則要使用 fatattr 或 mtools 中的 mattrib 才可以更改。

目录

使用 fatattr 顯示/改變屬性

要在 GNU/Linux 改變掛載中 FAT 檔案系統中檔案的屬性可以使用 fatattr 命令。一般 GNU/Linux 預設都沒有安裝 fatattr,系統管理員一般要自動安裝。在 Ubuntu/Debian 安裝 fatattr 套件:

apt-get install fatattr

使用命令 fatattr 檔案名稱 可以顯示 FAT 檔案的屬性:

$ fatattr "/media/USBDisk/System Volume Information"
  s d    /media/USBDisk/System Volume Information

如果檔案並非在掛載中的 FAT 檔案系統,會出現 Inappropriate ioctl 錯誤。

使用命令 fatattr +屬性 檔案名稱' 可以開啟 FAT 檔案的屬性,而命令 fatattr -屬性 檔案名稱 可以關閉 FAT 檔案的屬性:

$ fatattr +a +r secret.odt

$ fatattr secret.odt
r    a   secret.odt
$ fatattr -a secret.odt

$ fatattr secret.odt
r        secret.odt

使用 mtools 顯示/改變屬性

除了 fatattr,亦可以使用 mtools 中的 mattrib 在 GNU/Linux 改變 FAT 檔案系統中檔案的屬性。然而,mtools 主會設計處理軟磁碟或 ZIP/JAZ 碟等舊式儲存裝置,有關 FAT 檔案系統需在未掛載況性下使用,fatattr 會較適合包括 USB 磁碟/手指和各類記憶卡等現代儲存裝置。

部份 GNU/Linux 可能預設都沒有安裝 mtools 套件,系統管理員可能要自行安裝。

命令 mattrib 檔案名稱 可以顯示 FAT 檔案的屬性:

# mattrib a:secret.odt
  A          A:/SECRET.odt

檔案名稱中如果沒有 A: 等磁碟名稱會預設為 A: 是第一顆軟磁碟機 (/dev/fd0)。

命令 mattrib +屬性 檔案名稱' 可以開啟 FAT 檔案的屬性,而命令 mattrib -屬性 檔案名稱 可以關閉 FAT 檔案的屬性:

# mattrib +h a:secret.odt

# mattrib a:secret.odt
  A   H      A:/SECRET.odt
# mattrib +a a:secret.odt

# mattrib a:secret.odt
      H       A:/SECRET.odt

請參看

外部連結

Personal tools