Permissions
具有執行權限的奇怪行為
練習 - 我從 /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
為什麼?謝謝!
pwd
是一個內置的shell。你可以看到$ type pwd pwd is a shell builtin
pwd
是大多數 shell 中內置的。這樣做的一個原因是它是一個非常簡單的命令,使用頻率很高(執行內置程序比生成外部程序更快)。另一個原因是它允許 shell 跟踪符號連結,因此即使是符號連結也可以cd /foo/bar; pwd
顯示(在 bash 和許多其他 shell 中,您可以使用to show和to show ;預設值由選項控制)。/foo/bar``bar``/wibble``pwd -P``/foo/bar``pwd -L``/wibble``-o physical