Linux/Unix 中 chmod 命令及其示例17 Mar 2025 | 6 分钟阅读 Linux chmod 命令用于更改文件和目录的访问权限。它代表change mode(更改模式)。它不能更改符号链接的权限。即使在递归目录遍历中遇到符号链接,它也会忽略它们。 在 Linux 文件系统中,每个文件都与特定的所有者关联,并具有不同用户的权限访问。用户类别可以是
Linux 中的文件权限是以下三种类型
Chmod 的简要历史首先,chmod 命令出现在 AT&T UNIX 第 1 版中,具有 chmod 系统调用。除了这些最常见的模式之外,访问控制列表还被包含在几个文件系统中,以增强灵活性,因为系统的类型和用户数量都在增长。 GNU coreutils 中提供的 chmod 版本由 Jim Meyering 和 David MacKenzie 指定。该命令作为 Microsoft Windows 的一个独立包提供,是 UnxUtils 原生 Win32 端口集合的基本 GNU 类 Unix 工具的一部分。此外,chmod 命令已交付给 IBM i 操作系统。 让我们看看如何使用 chmod 命令更改文件权限。 语法 chmod 命令的基本语法如下 通常实现的选项有
如果提到了符号链接,则会影响目标对象。通常不使用与符号链接本身直接相关的文件模式。 chmod 权限的主要组成部分 例如,rwxr-x--- 每三个字符一组,指定所有类别的权限
选项 chmod 命令支持以下命令行选项 -c, --changes:与 verbose 选项类似,但区别在于它会报告是否已进行更改。 -f, --silent, --quiet:用于抑制错误消息。 -v, --verbose:用于显示每个已处理文件的诊断信息。 --no-preserve-root:用于不处理反斜杠符号 ('/'),尤其是(默认)。 --preserve-root:如果使用此选项,它将无法对反斜杠 ('/') 执行递归操作。 --reference=RFILE:用于指定 RFILE 的模式,而不是 MODE 值。 -R, --recursive:用于递归更改文件和目录。 --help:用于显示帮助手册,其中包含用法和支持选项的简要说明。 --version:用于显示版本信息。 文件权限语法如果您是新用户,您可能会对用于设置文件权限的不同类型的字母感到困惑。因此,在继续使用 chmod 命令之前,让我们先了解文件权限语法。 要设置文件或目录的权限,我们需要指定以下内容
权限语句用指示符表示,例如 u+x, u-x。其中 'u' 代表 'user'(用户),'+' 代表添加,'-' 代表删除,'x' 代表可执行(which)。 用户值可以是 u:文件的所有者 g:组成员 o:其他人 a:所有人 权限类型可以是 r、w 和 x。 设置和更新权限要设置文件权限,请使用 chmod 命令执行权限语句。例如,我们要为文件“Demo.txt”的所有用户和组设置读写权限。我们必须使用“u=rw,go=rw Demo.txt”权限语句与 chmod 命令一起传递。要显示文件权限,请执行以下命令 上述命令将显示“Demo.txt”文件的当前文件权限。 要更改权限,请执行以下命令 考虑下面的输出 ![]() 从上面的输出中,“Demo.txt”的访问权限已更改。 为多个文件设置权限我们可以使用 chmod 命令一次为多个文件设置权限。要更改多个文件的文件权限,请使用 chmod 命令指定文件模式。例如,如果我们想为所有文本文件设置读写权限,请使用 chmod 命令指定 *.txt 模式。 要查看当前工作目录中所有文本文件的权限,请执行以下命令 它将列出所有文本文件及其权限模式。请看下面的输出 ![]() 从上面的输出中,许多文件只对其他用户具有读取权限。 要为其他用户设置读写权限,请执行以下命令 它将为文本文件的其他用户设置读写权限。请看下面的输出 ![]() 数字简写我们可以使用数字值而不是字母来指定权限。使用三位数字值来指定权限。最左边的数字代表所有者 (u),中间的数字代表组成员 (g)。最右边的数字代表其他人 (o)。 下表表示数字及其权限
符号模式此外,chmod 命令接受更精细的符号表示法,允许更改特定模式。符号模式由三个元素组成,它们合并成一个单一的文本字符串 chmod 程序使用一个运算符来定义文件模式的排列方式。以下运算符是允许的
模式表示要从描述的类别中删除或授予哪些权限。主要有三种常见模式与通用权限相关
可以通过用逗号分隔多个符号模式来描述多个修改。如果用户未指定,chmod 命令将检查umask。 特殊模式此外,chmod 命令还可以更改目录或文件的特殊模式和额外权限。符号模式应用“s”来表示 setgid 和 setuid 模式,应用“t”来表示 sticky 模式。模式仅用于正确的类别,尽管是否提及其他类别。 几乎所有操作系统都以数字方式支持特殊模式规范,尤其是在八进制中,但有些不支持。只有符号模式可以应用于这些系统。 一些命令行示例
下一主题Linux chown 命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。