for f in $(find -type l);do cp --remove-destination $(readlink $f) $f;done;
- Periksa symlink di direktori dan subdirektori saat ini
find -type l
- Dapatkan jalur file tertaut
readlink $f
- Hapus symlink dan salin file
cp --remove-destination $(readlink $f) $f
Tidak ada perintah tunggal untuk mengonversi symlink ke file biasa. Cara paling langsung adalah dengan menggunakan readlink
untuk menemukan file yang ditunjuk symlink, lalu salin file tersebut melalui symlink:
cp --remove-destination `readlink bar.pdf` bar.pdf
Tentu saja, jika bar.pdf
sebenarnya adalah file biasa untuk memulai, maka ini akan menghancurkan file tersebut. Oleh karena itu, beberapa pemeriksaan kewarasan akan disarankan.
Hanya mengulangi jawaban orang lain, tetapi menambahkan "pemeriksaan kewarasan" untuk memastikan tautan yang diteruskan sebenarnya adalah tautan simbolik:
removelink() {
[ -L "$1" ] && cp --remove-destination "$(readlink "$1")" "$1"
}
Ini mengatakan bahwa jika file tersebut adalah tautan simbolis, jalankan perintah salin.
Bagaimana cara menutup rmiregistry yang berjalan di port tertentu?
Cara memeriksa ukuran heap untuk suatu proses di Linux