GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengubah symlink ke file biasa?

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.


Linux
  1. Bagaimana mengkonversi file PPK ke PEM menggunakan Command

  2. Bagaimana Mengonversi File Suara Menjadi Opus?

  3. Bagaimana Mengonversi Sistem File Ext ke Btrfs

  1. Bagaimana saya bisa menghubungkan file di Linux?

  2. Bagaimana cara mengonversi penunjuk file ( FILE* fp ) menjadi deskriptor file (int fd)?

  3. Bagaimana cara mengonversi tar.bz2 ke tar.gz?

  1. Cara Mengonversi File ke Encoding UTF-8 di Linux

  2. Cara Memasang atau Menghubungkan Satu File di Wadah Docker

  3. Bagaimana cara mengonversi file .img ke vhd?