ทำไมฉันไม่สามารถสร้าง symlink ไปยังไดเรกทอรีในระดับเดียวกับไดเรกทอรีนั้นได้


1

ฉันมีไดเรกทอรีชื่อ Foo. ฉันต้องการ symlink ในระดับเดียวกับที่เรียกว่า foo.

ln -s Foo foo สร้าง symlink ใน Foo ชี้กลับไปที่ตัวเอง

$ mkdir lntmp && cd lntmp
$ mkdir Foo
$ touch Foo/file
$ ln -s Foo foo
$ tree
.
└── Foo
    ├── Foo -> Foo
    └── file

1 directory, 2 files

สิ่งที่ฉันต้องการบรรลุคือ

$ tree
.
└── foo -> Foo
└── Foo
    └── file

คุณลองฮาร์ดลิงก์ (ไม่มี - s) แทนที่จะใช้ symlink ไหม
IQV

ขอบคุณสำหรับคำแนะนำ ปรากฎว่าฮาร์ดลิงก์ไม่ทำงานในไดเรกทอรีเฉพาะไฟล์เท่านั้น
EngineerBetter_DJ

ให้เป็นไปตาม manpages ทางเลือก -d ( --directory ) สร้างฮาร์ดลิงก์ไปยังไดเรกทอรี ...
IQV

น่าเสียดายที่ตัวเลือกนั้นไม่ปรากฏใน macOS (ซึ่งฉันควรจะชัดเจนกว่าเกี่ยวกับการใช้)
EngineerBetter_DJ

แปลกพิจารณาว่า macOS เป็นเพียงอันเดียว ทำ อนุญาตให้ใช้ไดเรกทอรีลิงก์ (เพื่อจุดประสงค์ของ Time Machine) ... ระบบและระบบไฟล์อื่น ๆ ส่วนใหญ่ทำไม่ได้เพื่อหลีกเลี่ยงไดเรกทอรีที่ซ้อนกันไม่สิ้นสุด
grawity

คำตอบ:


7

หากคุณใช้ macOS (ตามแท็กคำถาม) แสดงว่าดิสก์ของคุณอาจใช้ระบบไฟล์แบบไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก foo และ Foo เหมือนกันและคุณไม่สามารถมีทั้งสองอย่างในไดเรกทอรีเดียวกัน

แทนที่จะลองใช้ symlink mkdir foo หรือ touch foo และดูสิ่งที่คุณได้รับ

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