เส้นทาง '/../' หมายถึงอะไร


17

สงสัยว่าเส้นทางที่มีลักษณะเช่นนี้'/ ../' จะชี้ไปที่นอกไฟล์หรือไม่ ฉันเดาว่ามันอาจเป็นสิ่งที่ต้องการระบุไดเรกทอรีรูทเสมอและจากนั้นไดเรกทอรีหลักที่สัมพันธ์กับไฟล์ที่เขียนนั้น


1
parent ของ root คือ root ดังนั้นจึงเหมือนกับ /
Sami Kuhmonen

1
คุณหมายถึงการเขียน /../ เหมือนกับ / / ...
Eugene Lai

1
ใช่แล้ว. คุณไม่สามารถไปที่พ่อแม่ของรูทได้ดังนั้นจึงสั่งให้รูทตัวเอง
Sami Kuhmonen


/../มีความหมายก็ต่อเมื่อมันอยู่ในเส้นทาง
Amani Kilumanga

คำตอบ:


32

ให้พัง/../ลงทีละชิ้น

อันดับแรก/ระบุถึงรูทของระบบไฟล์นี่เป็นระดับสูงสุดของระบบไฟล์

.. หมายถึงโฟลเดอร์หลักอย่างไรก็ตามเนื่องจากเราอยู่ในระดับบนสุดเราไม่สามารถไปได้สูงกว่าดังนั้นเราจึงยังอยู่ในโฟลเดอร์บนสุด

การเพิ่ม/ที่ส่วนท้ายหมายถึงโฟลเดอร์ สิ่งนี้จะไม่บังคับยกเว้นว่าจะระบุพา ธ หรือโฟลเดอร์ย่อย ดังนั้นเรายังคงอยู่ที่โฟลเดอร์บนสุดในระบบไฟล์

ดังนั้น/../ไม่แตกต่างจากการพิมพ์/


24
ยกเว้นเมื่อคุณอยู่ใน chroot และเคอร์เนลเป็นรถที่เพียงพอที่เทคนิคดังกล่าวช่วยให้คุณหลบหนี chroot (มันเคยเป็นกรณีปีที่แล้วฉันคิดว่า.)
user1686

8
เครื่องหมายทับต่อท้ายอาจมีความสำคัญในบางกรณี ตัวอย่างเช่นถ้า/exampleเป็น symlink ไปยังไดเรกทอรีls -l /exampleจะแสดง symlink ในขณะที่ls -l /example/จะแสดงเนื้อหาของไดเรกทอรี
Flimm

คุณสามารถเปรียบเทียบกับ cd ../abc ie ซึ่ง../สร้างความแตกต่างได้ที่ไหน ฉันเดาว่ามันจะมีประโยชน์สำหรับเส้นทางสัมพัทธ์ไม่ใช่เส้นทางที่แน่นอน
barlop

1
@barlop สามารถมีผลสำหรับเส้นทางที่แน่นอน:../ = ตัวอย่างที่เป็นประโยชน์เพิ่มเติม: 1) การตระหนักว่าคุณเพิ่งแท็บกรอกชื่อไดเรกทอรีที่ยาวมาก ๆ แต่ไม่ใช่ชื่อที่คุณต้องการ อาจเร็วกว่าการถอยกลับ 50 เท่า 2)/foo/bar/../quux/foo/quux../foo=/long/absolute/path/to/foo; bar=$foo/../bar;
8bittree

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