本文全面解析 Linux / Unix / FreeBSD 系统中的 mattrib 命令(英文全称:MSDOS Attribute),提供多系统安装指南和实战操作技巧,重点讲解如何查看和修改 MSDOS / FAT 文件系统中的文件属性。

mattrib 命令释义

mattribMSDOS Attribute 的缩写)是 mtools 工具集的核心命令,用于在 类 Unix 系统中管理 MSDOS / FAT 文件系统属性。其主要功能包括:

  • 🔍 属性查看:显示文件的存档 / 只读 / 系统 / 隐藏属性
  • ✏️ 属性修改:更改文件或目录的 DOS 属性标志
  • 💾 设备支持:直接操作软盘 / U 盘等 DOS 格式存储介质
  • ⚙️ 批量操作:支持通配符批量修改文件属性

重要提示mattrib 是专为 MSDOS / FAT 文件系统设计的命令,不可用于 Linux 原生文件系统

安装 mattrib 命令

在以前很多系统上默认是安装 mattrib 命令的,但现在,在默认情况下,很多系统是没有安装 mattrib 命令的,要使用 mattrib 首先要安装 mattrib。

mattrib 命令不是单独的安装包,而是包含在 mtools 软件包中,所以需要安装 mtools 软件包。

1、Debian、Ubuntu 安装 mattrib:

sudo apt update
sudo apt install mtools

2、RHEL、AlmaLinux、Rocky Linux 安装 mattrib:

sudo dnf update
sudo dnf install mtools

3、FreeBSD 安装 mattrib:

sudo pkg update
sudo pkg install mtools

4、Arch Linux 安装 mattrib:

sudo pacman -Sy
sudo pacman -S mtools

mattrib 命令语法

mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-p] [-X] msdosfile [ msdosfiles ... ]
  • [options]:用于调整 mattrib 命令输出的选项,可选
  • msdosfile [ msdosfiles ... ]:一个或多个 MSDOS 系统下的文件
  • [-a|+a] [-h|+h] [-r|+r] [-s|+s]:为文件属性为选项,前缀为减号 - 表示删除属性,前缀为加号 + 表示添加属性
  • [-/] [-p] [-X]:为 mattrib 命令的选项

mattrib 命令使用示例

基础属性查看

1、 查看文件属性

mattrib a:/report.txt

2、 查看目录所有文件属性

mattrib d:/documents/*

属性修改操作

3、 添加只读属性

mattrib +r c:/important.doc

4、 移除隐藏属性

mattrib -h x:/secret.txt

5、 批量设置系统文件

mattrib +s e:/system/*.sys

高级操作

  1. 递归修改目录属性
mattrib -/ +a backup/

mattrib 命令属性位选项解释

如下给出了 Linux mattrib 命令中所有属性位选项的解释说明:

属性位选项 英文全称 解释说明
a Archive 某些备份程序用来指示新文件
r Read-only 用于表示只读文件,设置了此位的文件不能使用 DEL 擦除或修改
s System MS-DOS 用来指示文件为操作系统文件
h Hidden 用于使文件从 DIR 隐藏
  • 添加属性:在属性位前加加号 +
  • 删除属性:在属性位前加减号 -

mattrib 命令行选项解释

如下给出了 Linux xxx 命令中所有选项的解释说明:

选项 英文全称 解释说明
/ Recursive(递归的) 递归列出子目录中文件的属性
X Concise(简洁) 输出没有任何空白填充的属性;如果没有使用 / 选项,msdos文件也不包含通配符,并且命令行上只有一个 MS-DOS 文件参数,则只输出属性,而不输出文件名;这个选项对于脚本来说很方便
p Replay mode(回放模式) 输出一系列 mformat 命令,这些命令将重现当时的情况,从 MS-DOS 文件系统解压后留下的情况开始。命令只输出与默认值不同的属性设置(为文件设置归档位,为目录设置不设置归档位)。这个选项是在 tar 之外使用的。readonly 属性不被考虑在内,因为 tar 可以自己设置它。

属性组合示例

  • +r +h:设置为只读隐藏文件
  • -a -s:取消存档和系统属性

结语

mattrib 命令是管理 MSDOS / FAT 文件系统属性的专业工具,关键要点:

  1. 专用于 DOS 文件系统:操作软盘 / U 盘等 FAT 格式设备
  2. 四种属性控制:灵活管理文件特性
  3. 批量操作能力:支持通配符批量修改
  4. 无需挂载:直接访问设备更安全

最佳实践

  • 修改前先用 mattrib 查看当前属性
  • 系统文件操作需谨慎
  • 重要文件建议设置为 +r +h
  • 结合 mdir -a 查看隐藏文件

通过掌握 mattrib 命令,您可以在 Linux / Unix 环境中高效管理 MSDOS 格式存储设备的文件属性!