chattr 与 lsattr
chattr chattr 命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。
-a :将隐藏文件的属性页显示出来
-R:连同子目录的数据一并显示出来
显示系统中设备的属性特征和可能的属性值。
lsattr { -D [ -O ] | -E [ -O ] | -F Format [ -ZCharacter ] } -l Name [ -a Attribute ] ...[ -f File ] [ -h ] [ -H ]
lsattr { -D [ -O ] | -F Format [ -ZCharacter ] } { [ -c Class ] [ -s Subclass ] [ -t Type ] } [ -a Attribute ] ... [ -f File ] [ -h ] [ -H ]
lsattr -R { -l Name | [ -c Class ] [ -s Subclass ] [ -t Type ] } -a Attribute [ -f File ] [ -h ] [ -H ]
lsattr -l Name { -o operation [ ... ] } -F Format [ -Z Character ] [ -f File ] [ -h ] [ -H ]
lsattr { [ -c Class ] [ -s Subclass ] [ -t Type ] } { -o operation [ ... ] } -F Format [ -Z Character ] [ -f File ] [ -h ] [ -H ]
lsattr 命令显示关于给定设备或设备类型的属性信息。如果没有指定设备逻辑名(-l Name),则必须使用所有-c Class、-s Subclass 和-t Type 的一个或全部标志的组合来唯一标识预定义设备。
在使用 lsattr 命令时必须指定以下某一个标志:
-D | 显示缺省值。 |
-E | 显示有效值(只对于用 -l 标志指定的定制设备才有效)。 |
-F Format | 指定用户定义格式。 |
-R | 显示合法值的范围。 |
当显示定制设备的属性的有效值时,信息从配置数据库中获取,而不是从设备中获取。通常,数据库值反映了设备是如何配置的,除非使用带有标志-P 或 -T 的 chdev 命令对其进行了重新配置。如果出现此种情况,lsattr 命令的显示信息可能不会正确表示当前设备的配置,直到下次系统引导以后。
如果使用 -D 或 -E 标志,输出缺省值为属性名称的值、值、描述和用户可设置字符串,除非也使用了-O 标志。-O 标志显示指定的所有属性名称,以冒号隔开。在下一行,-O 标志显示所有相应属性值,以冒号隔开。-H 标志能和-D、-E 或 -F标志一起使用,可以在列名上面显示头部分。可以使用-FFormat 标志将输出格式定义成用户指定格式,其中Format 参数是由非字母数字字符或空格分隔的列名引用列表。如果指定了 -F Format 标志,则也可以指定 -ZCharacter 标志以将缺省记录分隔符由 'newline' 字符更改为指示'Character'。
lsattr 命令可以从扩展预定义属性(PdAtXtd)对象类显示"operation" 信息。该信息由基于 Web 的系统管理器使用。操作信息通过 -o operation 标志访问。-ooperation 标志和 -a attribute 标志不能在 lsattr 命令的同一个调用中指定。-ooperation 标志不与 -R 标志同时有效。当指定了-o operation 标志时,只有 PdAtXtd 对象类的字段可以用 -F Format 标志指定。
可以在命令行中或者从指定的 File 参数提供标志。
-a 属性 | 显示特定设备或某类型设备的指定属性的信息。对每个属性名称或多个属性名称可以使用一个 -a 标志。如果对多个属性名称使用一个-a 标志,属性名称列表必须以引号括起来,并且名称间必须有空格。使用 -R 标志时,一个属性名称必须只指定一个 -a 标志。如果不指定-a 或 -R 标志,lsattr 命令会显示特定设备的所有属性的所有信息。-aAttribute 标志不能与 -o Operation 标志一起使用。该标志组合导致 lsattr 命令退出,并带有一条错误消息。 |
-c Class | 指定设备类名。使用该标志可以限制输出在指定类中的设备中。该标志不能和 -E 或 -l 标志一起使用。 |
-D | 当不和 -O 标志一起使用时,显示特定设备的属性名称、缺省值、描述和用户可设置标志值。当和-O 标志一起使用时,-D 标志只在冒号格式中显示属性名称和缺省值。该标志可以和唯一标识预定义设备对象类中设备的-c、-s 和-t 标志的任意组合一起使用,也可以和-l标志一起使用。该标志不能和 -E、-F、或-R 标志一起使用。 |
-E | 当不和 -O 标志一起使用时,显示特定设备的属性名称、当前值、描述和用户可设置标志值。当和-O 标志一起使用时,-D 标志只在冒号格式中显示属性名称和当前值。该标志不能和-c、-D、-F、-R、-s 或 -t 标志一起使用。 |
-f File | 从 File 参数中读取所需的标志。 |
-F Format | 以用户指定格式显示输出,其中 Format 参数为预定义或定制设备对象类中的列名引用列表,这些列名由非字母数字字符或空格分隔。空格用作分隔符时,lsattr 命令以列对齐方式显示输出。只能指定来自预定义属性(PdAt)、定制属性(CuAt)和扩展预定义属性(PdAtXtd)对象类的列名。除列名外,有两个特殊用途名可供使用。使用名称description 可以获取属性描述显示,使用 user-settable 可以获取关于是否能更改属性的指示。该标志不能和-E、-D、-O 或-R 标志一起使用。 |
-H | 显示列输出上方的头部分。将 -H 标志与 -O 标志一起使用是无意义的,通常使用 -O 标志就可以。将 -H 标志与 -R 标志一起使用是无意义的,通常使用 -R 标志就可以。 |
-h | 显示命令使用消息。 |
-l Name | 指定定制设备对象类中要显示其属性名称或值的设备逻辑名。 |
-o Operation | 显示特定设备或特定种类设备的指定操作的信息。对每个操作名称或多个操作名称可以使用一个 -o标志。如果对多个操作名称使用一个-o 标志,则属性名称列表必须用引号括起来,并且名称之间有空格。也可以对操作名称使用通配符。通配符的有效设置与由odmget 命令使用的设置相同。与特定设备或设备种类关联的所有操作可以通过使用"?*" 的操作值来显示。-oOperation 标志不能与 -a attribute 标志或 -R 标志一起使用。这些标志的任何组合都导致 lsattr 命令退出,并带有一条错误消息。 |
-O | 显示所有属性名且以冒号隔开,在第二行显示所有相应的属性值且以冒号隔开。当同时指定 -E 标志时,属性值是当前值,当指定 -D 标志时,属性值是缺省值。该标志不能与 -F 和 -R 标志一起使用。 |
-R | 显示属性名称的合法值。-R 标志不能和 -D、-E、-F 和-O 标志一起使用,但是可以和唯一标识预定义设备对象类中设备的-c、-s 和-t 标志的任意组合一起使用,或者和-l 标志一起使用。-R 标志以垂直列方式显示列属性值,如下: Value1 Value2 . . ValueN -R 标志以 x...n(+i) 的方式显示范围属性值,其中x 是范围的开始,n 是范围的结束,i 是步长。 |
-s Subclass | 指定设备的子类名称。该标志可用于限制输出到指定子类的设备中。该标志不能和 -E 或 -l 标志一起使用。 |
-t Type | 指定设备类型名称。该标志可用于限制输出到指定类的设备中。该标志不能和 -E 或 -l 标志一起使用。 |
-Z Character | -Z Character 标志通常用于需要处理 ODM 字符的程序,该字符可能已经嵌入换行字符。基于 Web 的系统管理器就是这类程序的一个示例。-ZCharacter 标志用于为每个生成的输出记录(行)更改记录分隔符。新的记录分隔符为该标志的 'Character' 变量。只有指定了 -F Format 标志,-ZCharacter 标志才有用。-Z Character 标志不能与 -D、-E、-O 或-R 标志一起使用。 |
lsattr -l rmt0 -E系统显示与以下类似的消息:
mode 是 写过程中使用设备缓冲区 True block_size 1024 块大小(0=变量长度) True extfm 是 使用扩展文件标记 True ret 否 重新拉紧磁带更改或重新设置 True density_set_1 37 密度设置 #1 True density_set_2 36 密度设置 #2 True compress 是 使用数据压缩 True size_in_mb 12000 大小(兆字节) False ret_error 否 返回磁带更改错误或重新设置 True
lsattr -l rmt0 -D系统显示与以下类似的消息:
mode 是 写过程中使用设备缓冲区 True block_size 1024 块大小(0=变量长度) True extfm 是 使用扩展文件标记 True ret 否 重新拉紧磁带更改或重新设置 True density_set_1 37 密度设置 #1 True density_set_2 36 密度设置 #2 True compress 是 使用数据压缩 True size_in_mb 12000 大小(兆字节) False ret_error 否 返回磁带更改错误或重新设置 True
lsattr -l scsi0 -a bus_intr_lvl -E系统显示与以下类似的消息:
bus_intr_lvl 1 总线中断级别 False
lsattr -l tty0 -a login -R系统显示与以下类似的消息:
enable disable share delay
lsattr -c printer -s parallel -t ibm4340 -D系统显示与以下类似的消息:
ptop 600 打印机超时周期 True line 60 每页的行数 True col 80 每页的列数 True ind 0 缩进的列数 True plot 否 不加修改,发送所有字符到打印机 True backspace 是 发送退格 True cr 是 发送回车符 True form 是 发送换页 True lf 是 发送换行 True addcr 是 将回车符添加到换行 True case 否 将小写转换为大写 True tabs 是 扩展八个位置边界的标记 True wrap 是 合并超出指定宽度的字符 True mode 否 返回错误 True 并行接口的接口标准类型 True 在引导期间自动配置可用状态 True busy_delay 0 要在字符间延迟的微秒 True
lsattr -c printer -s parallel -t ibm4340 -a ptop -R系统显示与以下类似的消息:
1...1000 (+1)
lsattr -l rmt0 -E -O系统显示与以下类似的消息:
#mode:block_size:extfm:ret:density_set_1:density_set_2:compress:size_in_mb:ret_error 是:1024:是:否:37:36:是:12000:否
lsattr -E -l sys0系统显示与以下类似的输出:
keylock normal 引导期间系统键盘锁定状态 False maxbuf 20 块 I/O 缓冲区高速缓存最大分页数 True maxmbuf 0 实内存中允许用作 MBUFS 的最大 Kb 数 True maxuproc 128 每用户允许的最大过程数 True autorestart false 系统崩溃后自动重新引导 True iostat false 连续维护磁盘 I/O 历史记录 True realmem 4194304 可用物理内存数(以后 Kb 为单位) False conslogin enable 系统控制台登录 False fwversion IBM,SPH00221 固件版本和修订级别 False maxpout 0 每个文件暂挂写 I/O 的最高值标记 True minpout 0 每个文件暂挂写 I/O 的最低值标记 True fullcore false 启用核心转储 True pre430core false 使用 430 样式的核心转储 True ncargs 6 ARG/ENV 列表大小(以 4Kb 块为单位) True rtasversion 1 打开固件版本 False modelname IBM,7044-270 机器名称 False systemid IBM,011037D1F 硬件系统标识 False boottype disk 不适用 False SW_dist_intr false 启用 SW 分发中断 True cpuguard disable CPU Guard True frequency 93750000 系统频率总线 False