Saya memiliki direktori seperti ini:
$ ls -l
total 899166
drwxr-xr-x 12 me scicomp 324 Jan 24 13:47 data
-rw-r--r-- 1 me scicomp 84188 Jan 24 13:47 lod-thin-1.000000-0.010000-0.030000.rda
drwxr-xr-x 2 me scicomp 808 Jan 24 13:47 log
lrwxrwxrwx 1 me scicomp 17 Jan 25 09:41 msg -> /home/me/msg
Dan saya ingin menghapusnya menggunakan rm -r
.
Namun saya takut rm -r
akan mengikuti symlink dan menghapus semua yang ada di direktori itu (yang sangat buruk).
Saya tidak dapat menemukan apa pun tentang ini di halaman manual. Apa yang akan menjadi perilaku berjalan rm -rf
dari direktori di atas yang ini?
rm -rf somesymlink/
, yang merusak dengan jejaknya/
. Jika 5% pembaca akan bereksperimen, dan percobaan seperti itu memakan waktu 2,5 menit, itu 5700 menit, atau 95 jam, atau kontribusi $ 6000 untuk masyarakat @ $ 60 / jam. Saya pikir kita semua suka SEBAGAIMANA itu, mari kita semua bertanya dan menjawab pertanyaan bersama: 3Jawaban:
Contoh 1: Menghapus direktori yang berisi tautan lunak ke direktori lain.
Jadi, kita melihat bahwa target soft-link bertahan.
Contoh 2: Menghapus tautan lunak ke direktori
Hanya saja, tautan lunak dihapus. Sasaran soft-link bertahan.
Contoh 3: Mencoba menghapus target tautan lunak
File di target tautan simbolis tidak bertahan.
Eksperimen di atas dilakukan pada sistem Debian GNU / Linux 9.0 (stretch).
sumber
Direktori / home / me / msg Anda akan aman jika Anda rm -rf direktori tempat Anda menjalankan ls. Hanya symlink itu sendiri yang akan dihapus, bukan direktori yang ditunjuknya.
Satu-satunya hal yang saya harus waspadai, adalah jika Anda memanggil sesuatu seperti "rm -rf msg /" (dengan trailing slash.) Jangan lakukan itu karena itu akan menghapus direktori yang menunjuk ke msg, daripada symlink msg diri.
sumber
rm
harus menghapus file dan direktori. Jika file tersebut adalah tautan simbolik, tautan dihapus, bukan target. Itu tidak akan menafsirkan tautan simbolik. Misalnya apa yang seharusnya menjadi perilaku ketika menghapus 'broken links'- rm keluar dengan 0 tidak dengan nol untuk menunjukkan kegagalansumber