Wie erstelle ich im Terminal Softlinks zu allen Dateien in einem Verzeichnis in einem anderen Verzeichnis?

Wie erstelle ich im Terminal Softlinks zu allen Dateien in einem Verzeichnis in einem anderen Verzeichnis?

Das Ausführen ln -fs ./source/*im Zielverzeichnis funktioniert nicht

Es zeigt:

./source/file1 is not a directory

Antwort1

Aus man ln:

ZUSAMMENFASSUNG

   ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
   ln [OPTION]... TARGET                  (2nd form)
   ln [OPTION]... TARGET... DIRECTORY     (3rd form)
   ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

BESCHREIBUNG

Erstellen Sie in der 1. Form einen Link zu TARGET mit dem Namen LINK_NAME. Erstellen Sie in der 2. Form einen Link zu TARGET im aktuellen Verzeichnis. Erstellen Sie in der 3. und 4. Form Links zu jedem TARGET in DIRECTORY. Erstellen Sie standardmäßig Hardlinks, symbolische Links mit --symbolic.

Wenn Sie es sorgfältig lesen, werden Sie feststellen, dass Sie (vorausgesetzt, der Quellordner enthält mehr als eine Datei) die 3. Form verwendet haben. Da Sie kein Verzeichnis angegeben haben, wird der letzte Dateiname als Verzeichnis interpretiert.

Wenn Sie sich in dem Verzeichnis befinden, in dem Sie die symbolischen Links erstellen möchten, können Sie .am Ende des Befehls einfach (aktuelles Verzeichnis) hinzufügen:

ln -fs ./source/* .

Antwort2

Ich wollte/musste etwas tun und @danzel gab die beste Antwort. Folgendes brauchte ich: Erstellen Sie im Plugin-Ordner von WordPress ein Symbol für einen anderen Ordner im Stammverzeichnis der WordPress-Installation.

  1. Navigieren Sie zum Ordner
  2. Stellen Sie sicher, dass ich im richtigen Ordner bin
  3. Liste aller Elemente im Ordner
  4. Erstellen Sie den symbolischen Link

Hier sind die Befehle:

$ cd wp-content/plugins
$ pwd
$ ls -al
$ ln -s ../../my-folder-with-subfolders/subfolder-name/* .
$ ln -s ../../my-folder-with-subfolders/another-subfolder/* .

verwandte Informationen