Chúng tôi biết thư mục gốc là/và theo posix, có một thư mục // khác với /. Khi bạn ls/và ls //, đầu ra là giống nhau, như stat, tuy nhiên nếu bạn cd/và cd //, chúng khác nhau, mặc dù nội dung thư mục giống nhau. Điều đó thực sự làm tôi bối rối. Có ai có câu trả lời không?Đường dẫn // là gì, khác với/
10
A
Trả lời
18
Từ 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'.
+0
Trên giả lập git bash của tôi (về mặt kỹ thuật một máy cửa sổ) một nỗ lực để' ls -l // 'kết quả trong máy cố gắng để đọc và liệt kê toàn bộ mạng có sẵn ... wow. –
Bạn có thể cung cấp một tài liệu tham khảo mà nói họ là khác nhau? Ngoài ra, những gì bạn có nghĩa là nếu bạn "cd /" so với "cd //" họ là khác nhau - làm thế nào để bạn biết? –
@MarkkuK. Xin lỗi tôi đã không nói rõ ràng, nó có nghĩa là pwd đã không thay đổi. Vì vậy, như devnull nói. Bạn có thể thử nó. – dspjm
Ngoài ra, nếu bạn nhập "cd // usr" (ví dụ) thay vì "cd/usr", bạn kết thúc bằng "/ usr", bash nói bạn đang bỏ "// usr" và pwd là "// usr "quá ... – Tom