chattr(1)
redhat linux
/usr/bin/chattr共用函式庫:
libext2fs.so.2 => /lib/libext2fs.so.2 (0x4001d000)
libe2p.so.2 => /lib/libe2p.so.2 (0x4002f000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x40033000) libc.so.6 => /lib/libc.so.6 (0x40036000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)用法:
chattr [ -RV ] [ -v version ] [ mode ] files...用途說明:
可以改變linux檔案系統(e2fs)的檔案的屬性(file attributes)。參數說明:
symbolic mode的格式為 +-=[ASacdisu]
+:表示增加該屬性至檔案上。
-:將該屬性從檔案上移除。
=:直接設定該檔案的屬性。
A:(don't update atime)
如果設有'A'屬性的檔案被修改時,則他的atime記錄被不會被
修改。這樣可以讓膝上型的系統避免一些disk I/O。
a:(append only)
設有'a'屬性的檔案只能在附加的模式(append mode)下寫入新
資料。只有超級使用者(superuser)才能設定跟清除掉此屬性。
c:(compressed)
設有'c'屬性的檔案會自動被核心(kernel)壓縮而存在磁碟內。
當要讀取這個檔案的時候,會傳回解壓縮過的內容供讀取或修
改。而當檔案要被貯存在磁碟時,則會先經過壓縮後才存入磁
碟。
d:(no dump)
設有'd'屬性的檔案,當dump(8)這個程式在執行的時候,不會
被當做備份的候選人(亦即不會被備份)。
i:(immutable)
設有'i'屬性的檔案不能修改、不能刪除、不能改變檔案名稱、
不能對此檔案建立鍵結(link),並且也不能寫入資料至該檔案
。只有超級使用者(superuser)才能設定跟清除掉此屬性。
s:(secure deletion)
當設有's'屬性的檔案被刪除時,它的區塊(blocks)會被設成0
並且會寫回磁碟。
S:(synchronous updates)
當設有'S'屬性的檔案被修改時,則會同步地將修改寫入磁碟。
同對一些檔案用'sync'。
u:(undeletable)
當設有'u'屬性的檔案被刪除時,則該檔案的內容會被保留存下
來。這允許日後使用者要求回復該檔案(undeletion)。
j:(data journalling)
如果檔案系統是被掛在"data=ordered"或是"data=writeback"
的模式下,則設有'j'屬性的檔案在把資料寫回檔案前,會先
將所有的資料寫入ext3的日誌(journal)裡。當檔案系統已經
被掛在"data=journalled"的模式下時,所有的檔案資料都已
經會被寫入日誌(journalled),這個屬性在此時會沒有任何
影響。
-R:遞迴式的改變目錄及該目錄下的檔案的屬性。如果遇到symbolic
links的目錄時,則會忽略掉該目錄,不改變該目錄及該目錄 下的檔案的屬性。 |
-V:詳細的顯示chattr指令的輸出訊息,並顯示chattr的程式版本。
-v version:設定檔案系統的版本。
使用範例:
%/usr/bin/chattr +As testfile%/usr/bin/chattr =idu testfile
其它:
在ext2 fs 0.5a下,'c'跟'u'這兩個屬性並未被核心(kernel)的程式碼 給實踐出來。當在Linux 2.0 kernel下,'A'這個屬性也尚未被核心(kernel)的程式 碼所支援(因為noatime的程式碼仍正在作測試)。
chattr是e2fsprogs package的一部分,並且可以在匿名的ftp站, tsx-11.mit.edu ,的 /pub/linux/packages/ext2fs 下獲得。
屬性'j'只有在ext3的檔案系統下才會運作。
常用的相關指令是lsattr(1)。