Android

วิธีลบ (ลบ) ลิงค์สัญลักษณ์ใน linux

Devar Bhabhi hot romance video देवर à¤à¤¾à¤à¥€ की साथ हॉट रोमाà¤

Devar Bhabhi hot romance video देवर à¤à¤¾à¤à¥€ की साथ हॉट रोमाà¤

สารบัญ:

Anonim

ลิงก์สัญลักษณ์หรือที่เรียกว่า symlink เป็นไฟล์ชนิดพิเศษที่ชี้ไปยังไฟล์หรือไดเรกทอรีอื่น มันเป็นทางลัดใน Windows symlink สามารถชี้ไปที่ไฟล์หรือไดเรกทอรีบนระบบไฟล์หรือพาร์ติชันเดียวกันหรือต่างกัน

ในคู่มือนี้เราจะแสดงวิธีลบ (ลบ) ลิงก์สัญลักษณ์ในระบบ Linux / UNIX โดยใช้ rm , unlink และ find คำสั่ง

ก่อนที่คุณจะเริ่ม

ในการลบ symlink คุณต้องมีสิทธิ์ในการเขียนในไดเรกทอรีที่มี symlink มิฉะนั้นคุณจะได้รับข้อผิดพลาด "ไม่อนุญาตให้ดำเนินการ"

เมื่อคุณลบ symlink ไฟล์ที่ชี้ไปจะไม่ได้รับผลกระทบ

ใช้ ls -l เพื่อตรวจสอบว่าไฟล์ที่กำหนดเป็นลิงก์สัญลักษณ์หรือไม่และเพื่อค้นหาไฟล์หรือไดเรกทอรีที่ลิงก์สัญลักษณ์ชี้ไป

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

อักขระตัวแรก“ l” หมายถึงไฟล์นั้นเป็น symlink สัญลักษณ์“ ->” แสดงไฟล์ที่ symlink ชี้ไป

ลบลิงก์สัญลักษณ์ด้วย rm

คำสั่ง rm ลบไฟล์และไดเร็กทอรีที่กำหนด

หากต้องการลบ symlink ให้เรียกใช้คำสั่ง rm ตามด้วยชื่อลิงก์สัญลักษณ์เป็นอาร์กิวเมนต์:

rm symlink_name

ในความสำเร็จคำสั่งจะออกด้วยศูนย์และไม่แสดงเอาต์พุต

ด้วย rm คุณสามารถลบมากกว่าหนึ่งลิงก์สัญลักษณ์ได้ในครั้งเดียว ในการทำเช่นนั้นให้ส่งชื่อ symlink เป็นอาร์กิวเมนต์โดยคั่นด้วยช่องว่าง:

rm symlink1 symlink2

ในการรับพร้อมต์ก่อนที่จะลบ symlink ให้ใช้ตัวเลือก -i :

rm -i symlink_name

หากต้องการยืนยันพิมพ์ y และกด Enter

rm: remove symbolic link 'symlink_name'?

หากลิงก์สัญลักษณ์ชี้ไปที่ไดเร็กทอรีห้ามผนวก / ท้ายเครื่องหมายทับที่ท้าย มิฉะนั้นคุณจะได้รับข้อผิดพลาด:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

หากชื่อของอาร์กิวเมนต์นั้นลงท้ายด้วย / คำสั่ง rm จะถือว่าไฟล์นั้นเป็นไดเร็กทอรี ข้อผิดพลาดเกิดขึ้นเพราะเมื่อใช้โดยไม่มีตัวเลือก -d หรือ -r , rm ไม่สามารถลบไดเรกทอรี

จะอยู่ในด้านความปลอดภัยตัวเลือกไม่เคย -r เมื่อลบลิงค์สัญลักษณ์ด้วย rm ตัวอย่างเช่นถ้าคุณพิมพ์:

rm -f symlink_to_dir/

เนื้อหาของไดเรกทอรีเป้าหมายจะถูกลบ

ลบ Symbolic Links ด้วย unlink

คำสั่ง unlink ลบไฟล์ที่กำหนด ซึ่งแตกต่างจาก rm , unlink ยอมรับเพียงอาร์กิวเมนต์เดียว

หากต้องการลบลิงก์สัญลักษณ์ให้รันคำสั่ง unlink ตามด้วยชื่อ symlink เป็นอาร์กิวเมนต์:

unlink symlink_name

หากคำสั่งดำเนินการสำเร็จคำสั่งจะไม่แสดงผลใด ๆ

อย่าผนวกเครื่องหมายทับ / ท้ายเครื่องหมายท้ายชื่อ symlink เนื่องจาก unlink ไม่สามารถลบไดเรกทอรีได้

ค้นหาและลบลิงค์สัญลักษณ์ที่เสีย

หากต้องการค้นหาลิงก์สัญลักษณ์ที่ใช้งานไม่ได้ทั้งหมดในไดเรกทอรีที่กำหนดให้รันคำสั่งต่อไปนี้:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

คำสั่งจะแสดงรายการลิงก์ที่ใช้งานไม่ได้ทั้งหมดภายใต้ไดเรกทอรีและไดเรกทอรีย่อย

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

เมื่อคุณพบ symlink ที่ใช้งานไม่ได้คุณสามารถลบออกด้วยตนเองด้วย rm หรือ unlink หรือใช้ตัวเลือก -delete ของคำสั่ง find :

find /path/to/directory -xtype l -delete

ข้อสรุป

หากต้องการลบลิงก์สัญลักษณ์ให้ใช้คำสั่ง rm หรือ unlink ตามด้วยชื่อ symlink เป็นอาร์กิวเมนต์ เมื่อลบลิงก์สัญลักษณ์ที่ชี้ไปที่ไดเร็กทอรีห้ามผนวกเครื่องหมายสแลชต่อท้ายกับชื่อ symlink

ยกเลิกการเชื่อมโยงค้นหา terminal