GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich, einen Symlink mit einem Texteditor zu bearbeiten?

Es ist nicht direkt möglich, wie andere bereits darauf hingewiesen haben, aber Sie können natürlich ein Skript dafür schreiben. Hier ist eine, die ich mir ausgedacht habe, als ich viele Symlinks ändern musste

#! /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)

Es hat für mich funktioniert, aber es ist sicherlich nicht perfekt, also verwenden Sie es auf eigene Gefahr ...


Es ist im Prinzip möglich, aber der Editor müsste es speziell unterstützen, da das Lesen des Ziels eines Symlinks einen speziellen Systemaufruf erfordert:readlink() .

Es ist unwahrscheinlich, dass Sie Editoren finden, die dies tatsächlich tun, da es nicht sehr nützlich ist und im Widerspruch zu dem steht, was die meisten Benutzer vom Editor erwarten, wenn er aufgefordert wird, einen Symlink zu öffnen:die Datei öffnen, auf die er zeigt.


Gemäß der Speicherung symbolischer Links Abschnitt im Wikipedia-Artikel Symbolische Links werden die Symlinks in einem Inode gespeichert . Dieser Inode ist eine Datenstruktur, die mehrere Informationen über die fragliche Datei enthält - laut diesem Thread der touch Der Befehl kann verwendet werden, um einige seiner Werte zu ändern. Daher ist es aufgrund der von @Wyzard erwähnten Probleme möglicherweise nicht möglich, es mit einem Texteditor zu ändern, aber es kann mit einigen anderen Befehlszeilentools wie touch geändert werden .

Ich hoffe, das hilft!


Ja, in Emacs ist dies im Dired-Modus möglich, insbesondere im wdired (writable dired)-Modus.

Beachten Sie, dass sowohl dired als auch wdired eingebaute Pakete sind.

Hier ist ein Beispiel...

(Übrigens:Ich verwende Smex, um Emacs M-x zu geben Befehlssuche &Ausführen einer ergonomischeren Benutzeroberfläche + Fuzzy-Matching)


Linux
  1. Schalten Sie Ihren Linux-Terminal-Texteditor mit ed ein

  2. ViM Texteditor 101 Handbuch

  3. Wie bearbeite ich Systemdateien mit dem Kate-Editor?

  4. Atom-IDE – Atom-Texteditor für Steroide

  5. Remote-Bearbeitung mit lokalem Editor (Linux)

Arbeiten mit Nano Editor unter Linux

Erste Schritte mit dem Nano-Texteditor [Leitfaden für Anfänger]

So installieren Sie Pakete im Atom-Texteditor

Top 7 der besten Texteditoren in Linux

Arbeiten mit dem Vim-Editor (Text-Editor)

Text-/Log-Editor mit Auto-Refresh-Unterstützung