ไดเร็กทอรี double slash (//) คืออะไร


29

ฉันเข้าใจผิดพิมพ์แทนcd // ฉันประหลาดใจไดเรกทอรีปัจจุบันปรากฏเป็นcd ///

ไดเรกทอรีนั้นคืออะไร? ทำไมมันมีอยู่?

apple@snipped $ pwd
/home/apple
apple@snipped $ cd /
apple@snipped $ pwd
/
apple@snipped $ cd //
apple@snipped $ pwd
//
apple@snipped $ cd ///
apple@snipped $ pwd
/

คำตอบ:


42

///มักจะเป็นเช่นเดียวกับ จะต้องเป็นเช่นเดียวกับ////

lsจะแสดงให้คุณเห็นซึ่งcd //นำคุณไปยังไดเรกทอรีรากเช่นเดียวกับที่cd /ทำ

$ cd /
$ ls
bin
boot
dev
...
$ cd //
$ ls
(same as above)

วิธีการทางเทคนิคเพื่อยืนยันว่าพวกเขาเป็นไดเรกทอรีเดียวกันแน่นอน:

$ cd /
$ stat -c "%i" .
2
$ cd //
$ stat -c "%i" .
2

พวกเขาจะพิมพ์หมายเลขไอโหนดเดียวกันซึ่งหมายความว่าพวกเขาเป็นสิ่งเดียวกัน

รายละเอียดเต็มไปด้วยเลือดมีการบันทึกไว้ในข้อกำหนดคุณสมบัติการแก้ปัญหาชื่อพา ธPOSIX :

ชื่อพา ธ ที่ประกอบด้วยเครื่องหมายทับเดียวจะแก้ไขไปยังไดเรกทอรีรากของกระบวนการ ชื่อพา ธ ว่างจะไม่สามารถแก้ไขได้สำเร็จ ชื่อพา ธ ที่ขึ้นต้นด้วยเครื่องหมายทับสองอันต่อเนื่องอาจตีความได้ในลักษณะที่กำหนดในการนำไปใช้แม้ว่าจะมีเครื่องหมายทับสองอันมากกว่าจะถือว่าเป็นเครื่องหมายทับเดียว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.