GNU/Linux >> Belajar Linux >  >> Linux

Apakah mungkin untuk mengedit symlink dengan editor teks?

Itu tidak mungkin secara langsung, seperti yang telah ditunjukkan oleh orang lain, tetapi tentu saja Anda dapat menulis skrip untuk itu. Ini salah satu yang saya temukan ketika saya harus mengubah banyak symlink

#! /bin/bash

tmp=$(mktemp)
trap "rm $tmp" EXIT

while [ ! -z "$1" ]; do
    filename="$1"; shift
    if [ ! -h "$filename" ]; then
        echo "Not a symlink: $filename";
        continue
    fi
    stat -c "%N" "$filename" >> $tmp
done
emacs $tmp

while read filename linkname; do
    ln -sf "$linkname" "$filename"
done < <(sed "s/'\(.*\)' -> '\(.*\)'/\1 \2/" $tmp)

Ini berhasil untuk saya, tetapi tentu saja tidak sempurna, jadi gunakan dengan risiko Anda sendiri...


Itu mungkin pada prinsipnya, tetapi editor perlu mendukungnya secara khusus, karena membaca tujuan symlink memerlukan panggilan sistem khusus:readlink() .

Anda tidak mungkin menemukan editor yang benar-benar melakukan ini, karena ini tidak terlalu berguna, dan bertentangan dengan apa yang sebagian besar pengguna ingin editor lakukan ketika diminta untuk membuka symlink:buka file yang ditunjuknya.


Sesuai dengan Penyimpanan tautan simbolis bagian dalam artikel Wikipedia Tautan Simbolik, symlink disimpan dalam inode . Inode ini adalah struktur data yang berisi beberapa informasi tentang file yang dimaksud - sesuai utas ini, touch perintah dapat digunakan untuk mengubah beberapa nilainya. Jadi, mungkin tidak dapat memodifikasinya dengan menggunakan editor teks, karena masalah yang disebutkan @Wyzard, tetapi mungkin dapat dimodifikasi dengan menggunakan beberapa alat baris perintah lain seperti touch .

Saya harap ini membantu!


Ya, di Emacs ini dimungkinkan dalam mode dired, khususnya mode wdired (dired yang dapat ditulisi).

Perhatikan, dired dan wdired keduanya adalah paket bawaan.

Ini contohnya...

(BTW:Saya menggunakan Smex untuk memberi Emacs M-x perintah cari &jalankan UI yang lebih ergonomis + pencocokan fuzzy)


Linux
  1. Nyalakan editor teks terminal Linux Anda dengan ed

  2. Panduan Editor Teks ViM 101

  3. Atom-IDE – Editor Teks Atom pada Steroid

  1. Edit teks di Linux dengan KWrite dan Kate

  2. Bagaimana Cara Mengedit File Sistem Dengan Kate Editor??

  3. Pengeditan jarak jauh dengan editor lokal (Linux)

  1. Edit video di Linux dengan Kdenlive

  2. Edit audio di Linux dengan Audacity

  3. Coba editor teks e3 Linux