10
有什麼區別我們知道根目錄是/,根據posix,還有另一個不同於/的目錄。當你ls /和ls //時,輸出與stat相同,但是如果你是cd /和cd //,它們是不同的,儘管目錄內容是相同的。 這讓我很困惑。任何人都有答案?什麼是路徑//它與/
有什麼區別我們知道根目錄是/,根據posix,還有另一個不同於/的目錄。當你ls /和ls //時,輸出與stat相同,但是如果你是cd /和cd //,它們是不同的,儘管目錄內容是相同的。 這讓我很困惑。任何人都有答案?什麼是路徑//它與/
從Bash FAQ:
E10) Why does `cd //' leave $PWD as `//'?
POSIX.2, in its description of `cd', says that *three* or more leading
slashes may be replaced with a single slash when canonicalizing the
current working directory.
This is, I presume, for historical compatibility. Certain versions of
Unix, and early network file systems, used paths of the form
//hostname/path to access `path' on server `hostname'.
在我的git bash模擬(技術上是一臺Windows機器)嘗試'ls -l //'導致機器嘗試讀取並列出整個可用網絡......哇。 –
你能提供說,他們是不同的參考?另外,你是什麼意思,如果你「cd /」與「cd //」他們是不同的 - 你怎麼知道? –
@MarkkuK。對不起,我沒有說清楚,這意味着pwd沒有改變。正如devnull所說。你可以嘗試一下。 – dspjm
此外,如果您輸入「cd // usr」(例如)而不是「cd/usr」,則最終輸入「/ usr」,bash表示您不是「// usr」而pwd是「// usr」 「太... – Tom