ฉันไม่เข้าใจว่าทำไมการคิดเกี่ยวกับปัญหาง่าย ๆ นี้จึงซับซ้อน - แต่บางทีฉันแค่ตั้งคำถามผิดทาง อย่างไรก็ตามเมื่อฉันต้องการฟังก์ชั่นที่คล้ายกันฉันใช้:
ls -lL
นั่นเป็นเคล็ดลับในกรณีของฉัน จากls
หน้าคน:
-L, --dereference
when showing file information for a symbolic link,
show information for the file the link references
rather than for the link itself
ตัวอย่างเช่นฉันได้ทำให้ฉันเป็น/media/stick
ทางลัดในการเข้าถึงข้อมูลบนแท่ง USB ของฉัน ls -l /media/stick
จะแสดงลิงค์จริงในขณะที่ls -lL /media/stick
จะแสดงเนื้อหาบนแท่ง USB
หลังจากการค้นคว้าอย่างลึกซึ้งเกี่ยวกับความแตกต่างระหว่างการทำงานภายใน-H
และ-L
ในที่สุดฉันก็ได้พบกับบทความที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้ในบล็อกของความคิดตื้นๆ
สิ่งนี้ชี้ให้เห็นถึงความแตกต่างที่ลึกซึ้งระหว่างสองตัวเลือก (วิธีที่ดีกว่าคู่มือดั้งเดิม!) ดังต่อไปนี้:
-H
- ยกเลิกการอ้างอิงลิงก์เหล่านั้นอย่างชัดเจนในบรรทัดคำสั่ง
-L
- ลิงก์ที่อ้างอิงถึงแม้ว่าจะไม่ได้กล่าวถึงในบรรทัดคำสั่ง
(เมื่อทั้งสองใช้ร่วมกับงานประจำวันที่เรียบง่ายไม่น่าจะมีความแตกต่างในผลลัพธ์โดยทั่วไป)
นอกจากนี้ควรที่คุณต้องการที่จะจำแบบยาว ( --option
) ก็ส่วนใหญ่อาจจะยุ่งยากน้อยลงในการจดจำมากกว่ามอนสเตอร์ที่ยาวมากเกินไป--dereference
--dereference-command-line-symlink-to-dir