วิธีลบลิงค์สัญลักษณ์


139

ฉันพยายามสร้างลิงค์สัญลักษณ์นี้:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

แต่ฉันพิมพ์โดยไม่ตั้งใจ:

sudo ln -s /usr/share/php,yad,in /var/www/phpmyadmin

ดังนั้นตอนนี้ฉันต้องการแก้ไข แต่มันบอกว่าลิงค์สัญลักษณ์มีอยู่แล้ว

คำตอบ:


165

คุณสามารถใช้rmเพื่อลบ symlink

ตัวอย่าง:

-rw-rw-r-- 1 2014-01-02 09:21 tmo
lrwxrwxrwx 1 2014-01-02 09:21 tmo2 -> tmo

จากนั้น ...

 rm tmo2

จะลบ symlink


1
ปฏิเสธการอนุญาต นี่คือสิ่งที่ฉันพิมพ์ครั้งแรก: sudo ln -s / usr / share / php, yad, ใน / var / www / phpmyadmin
James

6
ปฏิเสธสิทธิ์: คุณรู้หรือไม่ว่าคุณต้องการ sudo หากคุณต้องการใช้งานในสถานการณ์ที่คุณไม่ได้เป็นเจ้าของไฟล์หรือไม่? นั่นก็เพื่อ 'rm' ด้วย
Rinzwind

2
ฉันทำมัน rm / usr / bin / python และลบ python ของฉันออกจาก Ubuntu: S

2
@RaheelKhan ไม่ได้ทำ - ไม่ - คุณลบ SYMLINK แล้ว Python อาศัย symlink นี้แม้ว่า ถ้าคุณสร้าง symlink python ขึ้นใหม่จะกลับมา
Rinzwind

1
ฉันลองคำสั่งนี้ แต่ดูเหมือนว่าไฟล์ของฉันถูกลบไปฉันไม่ต้องการลบไฟล์ของฉัน
saeed masoomi

24

คุณสามารถลองใช้unlinkคำสั่งได้เช่นกัน เป็นคำสั่งที่ชื่อแทนของ
unlink rmดังนั้นrm <symlink>จะทำงานเช่นเดียวกับunlink <symlink>

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


9
unlinkไม่มีส่วนเกี่ยวข้องกับ symlinks โดยเฉพาะ ดูserverfault.com/a/38817/64085
Matthew อ่าน

@ kushvarma แต่ใช้งานได้ คุณลองไหม
hakunami

1
คำตอบอาจถูกต้อง แต่จะทำให้มือใหม่สับสน
mit

" unlinkเป็นคำสั่งนามแฝงของrm" [จำเป็นต้องมีการอ้างอิง]
mwfearnley

12

สมมติว่าคุณกำลังพยายามทำ:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin/

แต่ไม่ได้ตั้งใจ:

sudo ln -s /usr/share/somethingelse /var/www/phpmyadmin/

ในการแก้ไขให้ถูกต้องเพียงไปที่โฟลเดอร์ที่มีการเชื่อมโยงและยกเลิกการเชื่อมโยง

cd /var/www/phpmyadmin/  
~:# unlink somethingelse

8

คุณจะใช้สิ่งต่อไปนี้เพื่อลบลิงค์สัญลักษณ์

sudo rm path/to/the/link

คำอธิบาย

  • rmเป็นคำสั่งเทอร์มินัลเพื่อลบไฟล์ ดูrm --helpตัวเลือกเพิ่มเติมที่ทำได้
  • sudosudoถูกนำมาใช้เพราะการเชื่อมโยงสัญลักษณ์ถูกสร้างขึ้นด้วย ไฟล์ดังกล่าวเป็นของรูทและผู้ใช้ปกติของคุณจะไม่สามารถแก้ไข / ลบไฟล์ได้เนื่องจากมี 'พลัง' น้อยกว่ารูท
  • path/to/the/linkจะ/usr/share/php,yad,inขึ้นอยู่กับความคิดเห็นของคุณ

พิเศษ

โปรดดูโพสต์นี้และความคิดเห็นของฉันต่อคำตอบแรกในการเข้าถึง phpmyadmin เมื่อพบข้อผิดพลาดที่ไม่พบหลังจากติดตั้ง


ความคิดเห็นของคุณไม่ธรรมดา โปรดใช้คำสั่งทั่วไปเพื่อแสดงวิธีลบลิงก์สัญลักษณ์
เสมอ

วิธีการทั่วไปควรใช้ได้กับทุกสิ่งเช่นคำสั่งของคุณเฉพาะ / usr / share / php, yad, in แต่ควรชอบ rm <symlink>
kushvarma

@ kushvarma ขอบคุณ ฉันได้ทำคำตอบทั่วไปมากขึ้น - มันเฉพาะเจาะจงเพราะ OP ดูเหมือนจะมีปัญหาในการลบไฟล์
chesedo

1

ขออภัยที่โพสต์ necro แต่ฉันพบคำถามนี้เมื่อฉันกำลังมองหาคำตอบสำหรับปัญหานี้

ข้อแม้เล็ก ๆ ที่ฉันพบคือฉันพยายามเรียกใช้rmและunlinkบน symlink และฉันได้รับข้อผิดพลาดว่าเป็นไดเรกทอรี

$ rm folder_name/
rm: cannot remove ‘folder_name/’: Is a directory
$ unlink folder_name/
unlink: cannot unlink ‘folder_name/’: Not a directory

ในการลบ symlink ผมใช้unlink folder_nameแต่มันก็ล้มเหลวถ้ามีต่อท้าย/เช่นunlink folder_name/ในขณะที่มันคิดว่ามันเป็นไดเรกทอรีไม่ไฟล์ที่คุณต้องการที่จะลบ


0

ฉันสะดุดที่นี่เพราะฉันต้องลบdpkg-divertและแพคเกจใหม่จะไม่ติดตั้งจนกว่าจะถูกลบออก

ดังนั้นถ้าคุณทำสิ่งนี้:

sudo dpkg-divert --add --rename --divert /usr/bin/gcc.real /usr/bin/gcc

คุณต้องลบออกด้วยสิ่งนี้:

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