GNU/Linux >> Belajar Linux >  >> Linux

Hapus symlink ke direktori

# this works:
rm foo
# versus this, which doesn't:
rm foo/

Pada dasarnya, Anda perlu memintanya untuk menghapus file , bukan menghapus direktori . Saya percaya perbedaan antara rm dan rmdir ada karena perbedaan dalam cara perpustakaan C memperlakukan masing-masing.

Bagaimanapun, yang pertama harus bekerja, sedangkan yang kedua harus mengeluh tentang foo sebagai direktori.

Jika tidak berfungsi seperti di atas, maka periksa izin Anda. Anda memerlukan izin menulis ke direktori yang berisi untuk menghapus file.


gunakan perintah "batalkan tautan" dan pastikan tidak untuk memiliki / di akhir

$ unlink mySymLink

unlink() menghapus nama dari sistem file. Jika nama itu adalah tautan terakhir ke file dan tidak ada proses yang membuka file, file akan dihapus dan ruang yang digunakannya tersedia untuk digunakan kembali. Jika nama adalah tautan terakhir ke file tetapi proses apa pun masih membuat file terbuka, file akan tetap ada hingga deskriptor file terakhir yang merujuknya ditutup.

Saya pikir ini mungkin bermasalah jika saya membacanya dengan benar.

Jika nama merujuk ke tautan simbolis, tautan tersebut akan dihapus.

Jika nama merujuk ke soket, fifo, atau perangkat, nama untuk itu dihapus tetapi proses yang membuka objek dapat terus menggunakannya.

https://linux.die.net/man/2/unlink


Linux
  1. Manajer File Java

  2. Hapus Semua File Dalam Direktori Yang Namanya Tidak Cocok Dengan Baris Dalam Daftar File?

  3. Redirection Ke Nama File Globbed Gagal?

  1. Bash:Tidak ada file atau direktori seperti itu?

  2. sys/types.h:Tidak ada file atau direktori tersebut

  3. Kesalahan I/O di Linux:tidak dapat menghapus direktori sebagai root

  1. Cara memperbarui symlink Linux

  2. Hapus file tanpa diminta

  3. Bagaimana cara menghapus file tanpa menggunakan rm?