![执行权限的奇怪行为](https://linux22.com/image/560897/%E6%89%A7%E8%A1%8C%E6%9D%83%E9%99%90%E7%9A%84%E5%A5%87%E6%80%AA%E8%A1%8C%E4%B8%BA.png)
为了练习 - 我从 /bin/pwd 中删除了其他人的执行权限:
$ chmod o-x /bin/pwd
$ ls -l /bin/pwd
-rwxr--r-- 1 root root 26568 Apr 28 2010 /bin/pwd
并且正如 matt 所记录的,我无法按预期执行/bin/pwd:
$ /bin/pwd
$ -bash: /bin/pwd: Permission denied
但如果不是绝对的话,突然就可以执行:
$ pwd
/home/matt
为什么要谢你!
答案1
pwd
是内置的 shell。你可以通过
$ type pwd
pwd is a shell builtin
pwd
是大多数 shell 中的内置命令。其中一个原因是它是一个非常简单的命令,使用频率相当高(并且运行内置命令比生成外部进程更快)。另一个原因是它允许 shell 跟踪符号链接,因此即使是符号 to ,也会cd /foo/bar; pwd
显示(在 bash 和许多其他 shell 中,您可以使用to show和to show ;默认值由选项控制)。/foo/bar
bar
/wibble
pwd -P
/foo/bar
pwd -L
/wibble
-o physical