Linux 当我们对当前目录没有执行权限时,为什么;cd.“;工作
假设我们有一个名为foo的目录:Linux 当我们对当前目录没有执行权限时,为什么;cd.“;工作,linux,unix,file-permissions,Linux,Unix,File Permissions,假设我们有一个名为foo的目录:/home/user/foo。在Icd转换为foo之后,我更改了当前目录的执行权限:chmod-x../foo。删除执行权限后,我无法访问任何文件,这是正常的。但当我写“cd..”时,我可以更改目录。为什么“cd..”有效?至少在bash中,cd..是专门实现的。它不会从当前目录中读取。目录;相反,它通过删除尾部组件来计算父目录的名称 引用bash 4.3中的内置/cd.def: 默认设置是跟随符号链接,就好像指定了-L'。 通过删除上一个路径名来处理“” 组件返
/home/user/foo
。在Icd
转换为foo之后,我更改了当前目录的执行权限:chmod-x../foo
。删除执行权限后,我无法访问任何文件,这是正常的。但当我写“cd..
”时,我可以更改目录。为什么“cd..
”有效?至少在bash中,cd..
是专门实现的。它不会从当前目录中读取。
目录;相反,它通过删除尾部组件来计算父目录的名称
引用bash 4.3中的内置/cd.def
:
默认设置是跟随符号链接,就好像指定了-L'。
通过删除上一个路径名来处理“
”
组件返回到斜杠或目录的开头
您可以将其视为帮助cd
输出的一部分
这个帮助文本似乎是在Bash4.3中引入的,但其功能至少可以追溯到Bash3.2
其他shell的行为可能相同,也可能不同。我不认为这是离题的。它与shell脚本有关,shell脚本是一种编程。你说得对,谢谢。在bash中,如果我们使用cd和-P选项,那么一切看起来都正常。