Saya membuat tautan simbolis dengan perintah berikut:
ln -s ../test5
Saya ingin menghapusnya sekarang tetapi rm saya gagal:
$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory
$ls -l
0 lrwxrwxrwx 1 peter peter 8 Jul 20 15:30 test5 -> ../test5/
Bagaimana saya bisa menghapus tautan simbolis saya? (Ubuntu 8.10, bash)
linux
bash
symbolic-link
Peter Smit
sumber
sumber
rm -r link/
menghapus konten pada targetJawaban:
Hapus garis miring trailing:
Dengan cepat:
Tanpa cepat:
sumber
permission denied
.test5/
tidak benar.Coba
rm test5
(tanpa garis miring pelatihan).
Slash menunjukkan bahwa 'test5' adalah mengerikan sedangkan sebenarnya file yang terhubung ke direktori.
sumber
Anda dapat menjalankan menghapus garis miring:
Ini akan menghapus file (yaitu symlink).
Atau Anda dapat menggunakan pembatalan tautan:
Sekali lagi Anda harus menghilangkan garis miring trailing karena Anda berusaha untuk menghapus tautan symlink bukan direktori.
sumber
Terkadang jika Anda menggunakan pelengkapan otomatis untuk memberi nama tautan yang ingin Anda hapus, Anda mungkin tidak melihat garis miring tetapi itu 'separuh di sana' dan garis miring yang tak terlihat itu masih memberikan kesalahan penghapusan ketika mencoba menghapus tautan itu.
Jadi dalam hal ini ketik karakter dengan karakter tautan yang akan dihapus sebagai "test5" seperti misalnya.
rm test5
.sumber
Masalah dalam OP adalah trailing
/
, jaditest5/
melempar kesalahan tetapitest5
berfungsi.Saya lebih suka menggunakan
unlink
daripadarm
karena maksud saya lebih jelas dan tidak ada kemungkinan salah menghapus direktori sebenarnya daripada tautannya. Pastikan tidak ada trailing/
setelah nama direktori, misalnya:sumber
Saya merasa konyol bertanya, tetapi apakah Anda sudah mencoba
rm -r
? Karena ini adalah tautan simbolis, ia tidak boleh menghapus target.Sunting: Baru saja mencobanya, itu benar
Sunting 2: rmdir mengatakan di baris pertama halaman manualnya ia menghapus direktori kosong. Saya akan berpikir karena itu adalah sebuah tautan yang memiliki sedikit direktori diperiksa pada properti file-nya, tetapi karena rmdir tidak curiga bahwa itu adalah kasus itu meludah kesalahan. Cukup gunakan rm -r
sumber