symlink ไปยังไดเรกทอรีที่มีอยู่แล้ว


12

มีวิธีการที่เหมาะสมในการเชื่อมโยง/home/user/app/publicเพื่อ/home/user/public_htmlพิจารณาข้อเท็จจริงที่ว่าเป้าหมายอยู่แล้ว?

ถ้าผมทำผมสิ้นสุดมีln -s /home/user/app/public /home/user/public_html/home/user/public_html/public

ฉันเดาว่ามันจะเป็นไปได้ที่จะย้อนกลับการกระทำเช่นln -s /home/user/public_html /home/user/app/publicนี้ แต่ฉันไม่แน่ใจว่าจะหลีกเลี่ยง/home/user/app/public/public_htmlผลสุดท้ายได้อย่างไร

คำตอบ:


13

Lemme เข้าใจปัญหาของคุณอย่างถูกวิธี

ที่มาของคุณคือ/home/user/public_htmlและฉันคิดว่ามันมีไฟล์อยู่ในนั้น /home/user/app/publicและคุณต้องการที่จะทำให้การเชื่อมโยงไปยังไดเรกทอรีนี้สิทธิในการ ด้วยวิธีนี้แล้วคุณสามารถทำสิ่งที่ชอบและดูไฟล์บนอยู่บนที่ls /home/user/app/public/home/user/public_html

หากถูกต้องแล้วแหล่งที่มาของคุณและเป้าหมายคือ/home/user/public_html /home/user/app/publicคำสั่งที่เหมาะสมคืออันนี้:

ln -s /home/user/public_html /home/user/app/public

ตรวจสอบให้แน่ใจว่า/home/user/app/publicไม่ใช่ไดเรกทอรีหรือไฟล์ที่ถูกต้องก่อนหน้านี้ป้อนคำสั่ง


3
นี่คืออันเก่า แต่ฉันคิดว่าผู้ใช้ถามวิธีการทำสิ่งที่คุณอธิบายอย่างชัดเจน แต่ในกรณีที่อาจมี / home / user / app / public / สาธารณะ (ซึ่งเป็นข้อแม้ที่คุณพูดถึงในตอนท้ายของคุณ ตอบ). ดังนั้น IMHO จึงไม่ตอบคำถามเดิมเนื่องจากผู้ใช้ต้องการทราบวิธีจัดการกับเป้าหมายที่มีอยู่แล้วอย่างแม่นยำ (เช่นวิธีการแทนที่ด้วย symlink โดยไม่ต้องลบก่อนสร้าง symlink)
jotadepicas

ลองตัวเลือก -T :)
Milkmannetje

2

หากฉันเข้าใจคำถามของคุณถูกต้องคุณต้องการทราบวิธีจัดการกับเป้าหมายที่มีอยู่แล้ว หากเป็นกรณีนี้มีสองสถานการณ์ที่เป็นไปได้

1) เป้าหมายที่มีอยู่คือไฟล์ หากเป็นกรณีนี้คุณสามารถบังคับให้สร้าง symlink ด้วย "-f"

2) เป้าหมายที่มีอยู่คือไดเรกทอรี หากเป็นกรณีนี้ขึ้นอยู่กับการใช้คำสั่ง ln ปัจจุบันของคุณ มันอาจจะมี "-n" ข้อโต้แย้งที่มีอยู่ซึ่งเป็นสาเหตุ symlink ไปไดเรกทอรีได้รับการจัดการอย่างถูกต้องแทนการทำซ้ำได้ตามที่คุณบอกว่า

การอ้างอิง: /unix/207294/create-symlink-overwrite-if-one-exists


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