可执行文件目录与可执行文件之间的区别


20

在目录上具有可执行权限是否意味着即使其中的文件没有显式设置可执行权限,该目录内的文件也可以执行?


不会。对导演的执行权限是指搜索权限(用于读取文件属性并将其复制到目录中)。要执行文件,您必须对该文件具有执行权限。
ridgy '16

1
请参阅权限标签Wiki
Zanna


Answers:


27

不,目录的可执行权限意味着您可以输入目录,使用将该目录设置为当前工作目录cd,然后查看其中包含的文件。

将目录视为一个文件,这是文件名列表,这很有用。

读取位 -如果设置,则可以读取此列表。如果您有一个名为books的目录:

  • 您可以ls预订,然后获得其中包含的文件的列表(-l但是不起作用)。

  • 您可以使用命令行补全,即touch books/bo+ Tab来获取 books/bookfile

  • 您无法将书籍设为您的工作目录,cd将无法使用。

写位 -您可以在其上修改此列表名称。仅当同时设置了执行位时,才可以执行此操作。

执行位 -如果您需要:

  • 可以访问目录中的文件。
  • 修改列表本身的详细信息。您可以在列表中添加,重命名或删除名称,但这也需要对该目录具有写权限。

在目录上设置执行位不会以任何方式影响文件本身,但会影响您对其的访问。例如,如果您具有目录的写入和执行访问权限,则即使您自己不能写入文件,也可以移动,重命名和删除文件。


这实际上解释了很多!现在,我了解了为什么某些目录在终端仿真器中的名称上带有彩色背景覆盖。
Shady Programmer

我添加了一些有关所有权限的信息,将目录视为充满文件的文件夹并没有像将其视为文件本身那样有用,它只是涉及权限的文件列表。
Arronical
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.