`chmod a+x` 和 `chmod +x` 之间有什么区别?

`chmod a+x` 和 `chmod +x` 之间有什么区别?

发现一篇文章说用chmod a+x给文件添加执行权限。它 和 和有什么不一样chmod +x? (有没有一种简单的方法可以搜索手册页中的这些差异?“a”太小,无法有意义地搜索手册页,并且通读它们会花费太长时间)。

答案1

man chmod:

A combination of the letters ugoa controls which users' access to the
file will be changed: the user who owns it (u), other users in the
file's group (g), other users not in the file's group (o), or all users
(a).  If none of these are given, the effect is as if (a) were given,
but bits that are set in the umask are not affected.

假设您有适当的权限,

  • a+x将设置x文件的所有位。

  • +x 将设置x文件中不存在于 umask 中的所有位。

例子:

$ umask
0022       # The group and other write bits are set

$ ls -l
---------- file

$ chmod +x file; ls -l
---x--x--x file

$ chmod +w file; ls -l
--wx--x--x file

$ chmod a+w file; ls -l
--wx-wx-wx file

在联机帮助页中搜索

有没有一种简单的方法可以在手册页中搜索这些差异? “a”太小。

关键字通常在联机帮助页中突出显示,a链接手册中的相关内容也是如此。另一种方法是通过在 Less 分页器中输入/\<a\>(或\ba\b,取决于正则表达式库)来使用单词边界搜索。它匹配确切的单词a,因此它不匹配,但在这种特殊情况下alone它肯定也会捕获所有不定冠词。a我们还没有语法意识 Less。

(FelixJN) 有没有办法匹配粗体/突出显示的格式?

如果 Less 是您的寻呼机,请输入-U。它启用控制字符显示。粗体(或彩色,取决于您的设置)单词中的每个字母都会退格并重复突出显示(斜体字请参阅下面的参考),因此突出显示的乌戈将写成

u^Hug^Hgo^Ho

因此搜索 /u^Hug^Hgo^Ho匹配任何突出显示的乌戈。但这些^H必须要进入 Ctrl-VCtrl-H,这是一个相当大的障碍。

(FelixJN)man chmod | cat -A没有显示任何内容。

man检测输出是否是终端,如果不是,则丢弃格式。用于MAN_KEEP_FORMATTING=y man chmod强制格式化。您可以将其传送到编辑器,在那里搜索会更方便。例如,在 Vim 中,

MAN_KEEP_FORMATTING=y man chmod | vim -
/u\bug\bgo\bo

进一步阅读:

相关内容