FlossDoc: 請協力 GPLv3 的中文翻譯工作。
改變 Ext4 檔案屬性 (attribute)
FlossDoc,自由中文開源知識庫
目录 |
[编辑]
列出檔案屬性設定
$ lsattr --------------I---- ./Archive -----------------e- ./CheckList.odt -----------------e- ./Todo.odt
[编辑]
檔案屬性
[编辑]
可改動的屬性
- A - 設定此屬性的檔案被讀取內容時,其最後讀取時間將不會被改變。
- a - 設定此屬性的檔案只可以以附加模式 (append mode) 開啟。任何使用者 (包括超級使用者 root) 只可以附加內容在此檔案的尾後,而不能更改原有的內容。只有超級使用者 root 或擁有 CAP_LINUX_IMMUTABLE 權力的進程 (process) 才可以設定或清除此屬性。
- D - 當設定此屬性的目錄被改動時,會即時同步至硬碟中。
- d - 設定此屬性的檔案將不會被備份。
- i - 設定此屬性的檔案不可以被任何使用者 (包括超級使用者 root) 改變內容、刪除、改變名稱其至建立硬連結 (link)。只有超級使用者 root 或擁有 CAP_LINUX_IMMUTABLE 權力的進程 (process) 才可以設定或清除此屬性。
- j - 當有關檔案系統使用 "data=ordered" 或 "data=writeback" 掛載,設定此屬性的檔案在更改時會先將所有對內容的改動寫入 ext3 日誌 (ext3 journal),然後才寫入檔案中。(相等於使用 "data=journal" 的選項) 這可以大大減少突然當機做成的檔案內容流失。只有超級使用者 root 或擁有 CAP_SYS_RESOURCE 權力的進程 (process) 才可以設定或清除此屬性。
- S - 當設定此屬性的檔案內容被改動時,會即時同步至硬碟中。
- h - 用來標示設定此屬性的檔案使用檔案系統區塊大小 (block size) 而非磁區 (sector) 表示檔案大小。這亦意味著此檔案現在或曾經大於 2TB。
[编辑]
只作標示的屬性
以下檔案屬性只用作標示檔案的一些狀態,任何人包括超級使用者都不能設定或清除這些屬性:
- E - 用來標示設定此屬性的檔案在壓縮時發生問題。
- e - 用來標示設定此屬性的檔案已使用 extends 方式表示存放其內容的區塊 (block)。
- I - 用來標示設定此屬性的目錄已使用 hashed tree 索引。
[编辑]
未實現的屬性
以下檔案屬性至今仍在現行 Linux 仍未有支援,只作預留未來或個別實驗性補丁使用:
- c - 設定此屬性的檔案寫入時先被 kernel 壓縮後才儲存,讀取時會被自動解壓。
- s - 當設定此屬性的檔案被刪除時,檔案內容每一個位元組會先被重設為零。
[编辑]
改變檔案屬性
$ chattr +A CheckList.odt $ lsattr CheckList.odt -------A---------e- ./CheckList.odt
[编辑]
請參看
[编辑]
外部連結
- GNU/Linux Manpage: lsattr(1) - list file attributes on a Linux second extended file system


[SuSE][OpenSuSE] - GNU/Linux 中 e2fsprogs 的 lsattr(1) 說明文件。
- GNU/Linux Manpage: chattr(1) - change file attributes on a Linux second extended file system


[SuSE][OpenSuSE] - GNU/Linux 中 e2fsprogs 的 chattr(1) 說明文件。

