chattr命令的man页翻译
原文来自
http://mlsx.xplore.cn/read.php/458.htm
作者:mlsx
转贴请著名出处
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
chattr的命令是在一次很偶然的情况下发现的,当时发现我不能删除一个文件,无论使用什么方法,使用什么用户,都无法删除,给出的提示是:
rm: cannot remove `chattr.man': Operation not permitted
后来才知道是chattr的搞的鬼。今天在看《Advanced Bash-ScriptingGuide》一书中又提到了chattr命令,并给出了一些之前没看到过的参数,因此man了一把chattr,参数还不少,翻译是对命令解释的精读,因此我就尝试翻译一下吧。
名字:
chattr - 在EXT2文件系统上改变文件属性(EXT3同样适应,译者注)
摘要:
chattr [ -RV ] [ -v version ] [ mode ] files...
描述:
chattr 改变EXT2文件系统上的一个文件的属性
参数符号格式是:+-=[ASacDdIijsTtu].
操作符 '+' 表示将选中的属性增加到指定的文件上; '-' 则表示删除该属性;
'=' 表示文件仅仅设置现在选择的属性(之前设置的属性全部移除,译者注)
字母 'acdijsuADST' 分别表示下面的属性:
仅追加(a), 压缩 (c), 不dump (d),不可更改 (i), 数据日志 (j), 安全删除 (s), 非尾部合并(t), 不可删除 (u), 不更新atime (A), 同步目录更新 (D),同步更新 (S), and top of directoryhierarchy (T).
选项:
-R 递归改变目录和目录的内容. 符号链接递归时不进入。
-V 冗余命令输出和打印程序版本
-v version
设置文件的版本(代)号
属性解释:
当访问一个设置了 ‘A' 属性的文件时,atime记录并不修改。这可以在笔记本上避免大量的磁盘I/O操作(特意指出笔记本,是考虑省电?译者注).
如果文件设置了 ‘a’ 属性,数据只能采用追加模式,仅仅超级用户或者拥有CAP_LINUX_IMMUTABLE能力的进程可以设置和删除该属性。
如果文件设置了 ‘c’ 属性, 那么当这个文件在进行写操作时,它将自动被压缩,并且在读的时候, 自动解压.
在存储到磁盘时先压缩数据。
如果一个目录设置了 ‘D'属性,任何改变将同步到磁盘;这等价于mount命令中的dirsync选项:同步目录
如果一个文件设置了 ‘d’ 属性,dump(8)运行时,不会备份它(不dump改文件,译者注)
‘E’ 属性目前是一个实验性质的压缩选项,用来标记压缩出现错误的文件。目前它还不能使用chattr来设置或者重置,虽然能使用lsattr命令来显示。
‘I’ 属性用在h树(htree)代码上,用来标记那些使用hash数隐藏索引的目录。目前它还不能使用chattr来设置或者重置,虽然能使用lsattr命令来显示。
如果一个文件设置了 ‘i' 属性,那么这个文件将不能被修改,不能被删除、重命名、链接该文件、写数据到文件。仅仅超级用户或者拥有CAP_LINUX_IMMUTABLE能力的进程可以设置和删除该属性。
如果一个文件设置了 ’j'属性,那么它所有的数据在写入文件本身之前,写入到ext3文件系统日志中,如果该文件系统挂载的时候使用了"data=ordered" 或"data=writeback"选项。当文件系统采用"data=journal"选项挂载时,所有文件数据已经记录日志,因此这个属性不起作用。仅仅超级用户或者拥有CAP_SYS_RESOURCE能力的进程可以设置和删除该属性。
设置了 ‘s’ 属性的文件被删除时,它所在磁盘上的块将全部被0填充,这是一个安全属性。
当一个设置了 ‘S’ 属性的文件被修改时,将同步到磁盘;它等价于mount命令的‘sync‘选项。
如果一个目录设置了 ‘T’ 属性,它将被视为目录结构的顶极目录,这是为了Orlov块的分配(kernel 2.5.46以上版本使用)
如果一个文件设置了 ‘t’ 属性,它和其他文件合并时,该文件的末尾不会有部分块碎片(为支持尾部合并的文件系统使用)。
这对某些程序是必须的,比如LILO,它直接读取文件系统,但是他并不理解尾部合并文件。
主意:写这个文档的时候,ext2,ext3还不支持尾部合并(tail-merging)
如果文件设置了 ‘u’ 属性, 那么当这个文件被删除后, 这个文件的内容还可以被恢
复。它允许用户询问恢复删除方式。(目前还不知道如何恢复删除一个文件,译者注)
‘X’ 属性是一个实验性的压缩补丁,用来标记一个能直接访问的裸内容压缩文件。目前它还不能使用chattr来设置或者重置,虽然能使用lsattr命令来显示。
‘Z’ 属性是一个实验性的压缩补丁,用来标记一个脏的压缩文件。目前它还不能使用chattr来设置或者重置,虽然能使用lsattr命令来显示。
收藏此页到5itag