Cara menghapus tautan simbolis

139

Saya mencoba membuat tautan simbolis ini:

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

tapi saya tidak sengaja mengetik:

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

Jadi sekarang saya ingin memperbaikinya tetapi dikatakan tautan simbolik sudah ada.

James
sumber

Jawaban:

165

Anda dapat menggunakan rmuntuk menghapus symlink.

Contoh:

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

Kemudian ...

 rm tmo2

akan menghapus symlink.

Rinzwind
sumber
1
izin ditolak. Inilah yang saya ketik pertama kali: sudo ln -s / usr / share / php, yad, di / var / www / phpmyadmin
James
6
izin ditolak: Anda tahu Anda perlu sudo jika Anda ingin menggunakannya dalam situasi Anda tidak memiliki file? Itu berlaku untuk 'rm' juga.
Rinzwind
2
saya melakukannya rm / usr / bin / python dan menghapus python saya dari ubuntu: S
2
@ RaheelKhan, tidak, tidak - Tidak - Anda menghapus SYMLINK. Python bergantung pada symlink ini. Jika Anda membuat ulang, symlink python akan kembali.
Rinzwind
1
Saya mencoba perintah ini tetapi tampaknya file saya telah dihapus, saya tidak ingin menghapus file saya
saeed masoomi
24

Anda dapat mencoba unlinkperintah juga.
unlinkadalah perintah alias dari rm. karena itu rm <symlink>akan bekerja sama denganunlink <symlink>

Inilah tautan referensi .

hakunami
sumber
9
unlinktidak ada hubungannya dengan symlinks pada khususnya. Lihat serverfault.com/a/38817/64085
Matius Baca
@kushvarma tetapi berhasil. Apakah kamu mencobanya?
hakunami
1
jawabannya mungkin benar, tetapi akan membingungkan pemula
mit
" unlinkadalah perintah alias rm" [Citation Needed]
mwfearnley
12

Misalkan Anda berusaha melakukan:

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

tetapi tidak sengaja melakukannya:

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

Untuk memperbaikinya cukup arahkan ke folder di mana tautan berada dan batalkan tautan

cd /var/www/phpmyadmin/  
~:# unlink somethingelse
Logam Marata
sumber
8

Anda akan menggunakan yang berikut untuk menghapus tautan simbolik

sudo rm path/to/the/link

Penjelasan

  • rmadalah perintah terminal untuk menghapus file. Lihat rm --helplebih banyak opsi yang bisa diambil.
  • sudodigunakan karena tautan simbolik dibuat dengan sudo. Karena itu file tersebut milik root dan pengguna normal Anda tidak akan dapat mengedit / menghapusnya karena memiliki 'kekuatan' lebih sedikit daripada root.
  • path/to/the/linkakan /usr/share/php,yad,indidasarkan pada komentar Anda.

Tambahan

Juga lihat posting ini dan komentar saya untuk jawaban pertama untuk mengakses phpmyadmin ketika mendapatkan kesalahan yang tidak ditemukan setelah menginstal.

chesedo
sumber
Komentar Anda tidak umum. Harap selalu gunakan perintah generik untuk menunjukkan cara menghapus tautan simbolik
kushvarma
generik berarti, itu harus valid untuk semuanya, seperti perintah Anda khusus untuk / usr / share / php, yad, di, tetapi harus seperti rm <
simplink
@kushvarma, terima kasih. Saya telah membuat jawabannya lebih umum - ini awalnya spesifik karena OP tampaknya memiliki masalah menghapus file
chesedo
1

Maaf untuk posting necro tetapi saya menemukan pertanyaan ini ketika saya sedang mencari jawaban untuk masalah ini.

Peringatan kecil yang saya temukan adalah bahwa saya mencoba untuk menjalankan rmdan unlinkpada symlink dan saya mendapatkan kesalahan bahwa itu adalah direktori.

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

Untuk menghapus symlink, saya menggunakan unlink folder_nametetapi gagal jika ada jejak /misalnya unlink folder_name/karena menganggap itu adalah direktori, bukan file yang ingin Anda hapus.

Randomhero
sumber
0

Saya terhuyung-huyung di sini karena saya harus menghapus a dpkg-divertdan paket baru tidak akan; t instal sampai dihapus.

Jadi jika Anda telah melakukan sesuatu seperti ini:

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

Anda harus menghapusnya dengan sesuatu seperti ini:

sudo dpkg-divert --remove /usr/bin/gcc.real
Sudipta Basak
sumber