Linux mattrib命令介绍
Linux mattrib命令是用来变更或显示MS-DOS文件的属性的。MS-DOS文件指的是存储在存储介质(如磁盘和光盘)上的一组相关信息。mattrib是mtools工具指令,模拟MS-DOS的attrib指令,可以变更MS-DOS文件的属性。
Linux mattrib命令适用的Linux版本
Linux mattrib命令可以在大多数Linux发行版中使用,但需要先安装mtools软件包。不同的Linux发行版可能有不同的安装方法,例如:
- 在基于Debian的Linux发行版中,可以使用以下命令安装mtools:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install mtools
- 在基于Red Hat的Linux发行版中,可以使用以下命令安装mtools:
[linux@bashcommandnotfound.cn ~]$ sudo yum install mtools
- 在基于Arch的Linux发行版中,可以使用以下命令安装mtools:
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S mtools
Linux mattrib命令的基本语法
Linux mattrib命令的基本语法如下:
mattrib [ -a|+a] [ -h|+h] [ -r|+r] [ -s|+s] [ -/] [ -p] [ -X] msdosfile [ msdosfiles ... ]
其中,msdosfile
和msdosfiles
表示要操作的MS-DOS文件或文件列表,可以使用通配符。其他参数的含义如下:
-a
或+a
:移除或设置备份属性。备份属性用于一些备份程序来标识一个新文件。-h
或+h
:移除或设置隐藏属性。隐藏属性用于使文件在DIR命令中不可见。-r
或+r
:移除或设置只读属性。只读属性用于标识一个只读文件。设置了只读属性的文件不能被DEL命令删除或修改。-s
或+s
:移除或设置系统属性。系统属性用于MS-DOS来标识一个操作系统文件。-/
:递归。递归地列出或修改子目录中的文件的属性。-p
:回放模式。输出一系列mformat命令,用于从解压缩MS-DOS文件系统后的状态重现当前的状态。只有与默认设置不同的属性设置才会输出命令(文件的备份属性为设置,目录的备份属性为未设置)。这个选项用于配合tar命令使用。只读属性不会被考虑,因为tar命令可以自己设置这个属性。-X
:简洁。不使用空白字符填充输出结果。如果没有给出-/
选项,且msdosfile
不包含通配符,且命令行中只有一个MS-DOS文件参数,那么只会输出属性,而不会输出文件名。这个选项方便用于脚本中。
Linux mattrib命令的常用选项说明
Linux mattrib命令的常用选项如下表所示:
选项 | 说明 |
---|---|
-a/+a | 移除/设置备份属性 |
-h/+h | 移除/设置隐藏属性 |
-r/+r | 移除/设置只读属性 |
-s/+s | 移除/设置系统属性 |
-/ | 递归处理子目录中的文件 |
-p | 回放模式,输出mformat命令 |
-X | 简洁输出,不使用空白字符填充 |
Linux mattrib命令的实例
Linux mattrib命令的一些常见实例如下:
列出A盘MS-DOS格式磁片上所有文件的属性
[linux@bashcommandnotfound.cn ~]$ mattrib a:
移除A盘磁片上msdos.sys文件的隐藏、系统和只读属性
[linux@bashcommandnotfound.cn ~]$ mattrib -h -s -r a:msdos.sys
移除A盘磁片上包含子目录下所有文件的只读属性
[linux@bashcommandnotfound.cn ~]$ mattrib -r -/ a:*.*
设置B盘磁片上test.txt文件的备份和隐藏属性
[linux@bashcommandnotfound.cn ~]$ mattrib +a +h b:test.txt
以简洁格式输出C盘磁片上config.sys文件的属性
[linux@bashcommandnotfound.cn ~]$ mattrib -X c:config.sys
Linux mattrib命令的注意事项
Linux mattrib命令的一些注意事项如下:
- Linux mattrib命令只能操作MS-DOS格式的文件系统,不能操作其他格式的文件系统,如ext4、ntfs等。
- Linux mattrib命令需要使用mtools软件包,如果没有安装,可能会出现
bash: mattrib: command not found
的错误提示,需要先安装mtools软件包。 - Linux mattrib命令的参数中,
-
和+
表示移除和设置属性,不能混淆。如果同时使用-
和+
,则后面的参数会覆盖前面的参数,例如mattrib -h +h a:file
等同于mattrib +h a:file
。
评论区