นี่เป็นเพียงคำถามเกี่ยวกับคำศัพท์เท่านั้น
มันมาจากการสอบปฏิบัติจากหนังสือเตรียมการของLPIC คำตอบที่ถูกต้องตามหนังสือคือนั่น~/Documentsคือไดเรกทอรีที่สัมพันธ์กันเพราะมันสัมพันธ์กับไดเรกทอรีบ้าน
อย่างไรก็ตามหนังสือเล่มนี้มีอัตราส่วนของความผิดพลาดและความผิดพลาดที่น่านับถือดังนั้นฉันจึงไม่สามารถรับทุกสิ่งที่เขียนไว้ที่นั่นได้ ที่นี่ฉันไม่เห็นด้วยเพราะสำหรับฉัน~ทำหน้าที่เป็นตัวแปรที่ขยายโดยเชลล์ในเนื้อหาของ$HOMEตัวแปรหรือเส้นทางไดเรกทอรีบ้านของผู้ใช้ปัจจุบัน (cf. man bash) ดังนั้นเส้นทาง/home/myuser/Documentsที่แท้จริงจึงเป็นไดเรกทอรีแน่นอน
แม้แต่Wikipediaครั้งเดียวก็ดูเหมือนว่าฉันไม่ได้ช่วยในหัวข้อนี้ (แม้ว่ามันจะยืนยันว่าหนังสือเล่มนี้ผิดกับเรื่องนี้):
พา ธ สัมบูรณ์หรือพา ธ เต็มไปยังตำแหน่งเดียวกันในระบบไฟล์โดยไม่คำนึงถึงไดเร็กทอรีการทำงานปัจจุบัน หากต้องการทำเช่นนั้นจะต้องมีไดเรกทอรีราก
ในทางตรงกันข้ามเส้นทางสัมพัทธ์จะเริ่มต้นจากไดเรกทอรีทำงานที่ให้มาโดยหลีกเลี่ยงความจำเป็นที่จะต้องระบุเส้นทางที่สมบูรณ์
ที่นี่อีกครั้งฉันไม่เห็นด้วย: ตามคำนิยามนี้เส้นทาง/opt/kde3/bin/../libที่ไม่ขึ้นอยู่กับไดเรกทอรีงานปัจจุบันควรเป็นสิ่งที่แน่นอน แต่ความเข้าใจในปัจจุบันของฉันตรงกับผู้เขียนหนังสือทำให้เส้นทางนี้เป็นญาติ
ค้นหาเว็บอย่างรวดเร็วเป็นเพียงการเพิ่มความยุ่งยากของฉันตามพจนานุกรมเว็บสเตอร์ :
absolute path - พา ธ ที่สัมพันธ์กับไดเร็กทอรีรูท อักขระตัวแรกต้องเป็นตัวคั่นชื่อพา ธ
ดังนั้น$HOME/Documentsหรือเพียงแค่$HOMEจะไม่ถือว่าเป็นไดเรกทอรีที่แน่นอน? คำจำกัดความนี้หมายถึงการขยายตัวของตัวแปรหรือไม่? ~ตัวละครของเชลล์ล่ะ? มีคำจำกัดความที่น่าเชื่อถือของไดเรกทอรีเปรียบเทียบกับสัมบูรณ์ที่ฉันสามารถหาที่ไหนสักแห่งและฉันผิดไปตลอดทาง?
~/fooเส้นทางญาติ สิ่งที่คุณได้รับคือความแตกต่างระหว่างการเข้ารหัสและการกำหนดพารามิเตอร์ ดูคำตอบของฉันสำหรับรายละเอียดเพิ่มเติม
~/Documentsและ$HOME/Documentsไม่ใช่เส้นทาง พวกเขาระบุเส้นทาง (สัมบูรณ์) หลังจากการขยาย แต่ไม่ใช่เส้นทางเอง ฉันคิดว่าเห็นด้วยกับจำนวนผู้ใช้ Unix / Linux ที่ใช้คำศัพท์ แต่ไม่ต้องสงสัยเลยว่าสตริงเหล่านั้นจะถูกเรียกว่าเส้นทางด้วยตนเอง
/ที่เราเรียกว่าสัมบูรณ์ ดังนั้นทุกอย่างเริ่มต้นจากสิ่งที่/ฉันจะเรียกสัมบูรณ์ (แม้ว่านี้อยู่/usr/../etc) และทุกสิ่งทุกอย่างที่ฉันจะเรียกญาติ (~/Doc,Doc,../john/Doc,$HOME/..., ... ) ประเด็นคือว่าสัมบูรณ์ควรทำงานโดยไม่คำนึงถึงไดเรกทอรีการทำงานปัจจุบันหรือผู้ใช้ปัจจุบัน ญาติสามารถทำงานได้เฉพาะในบางกรณีแคบ