2009-05-21 7 views
0

Ich habe eine Liste von dotFiles in meinem Arbeitsbereich. Zum Beispiel .bashrc und .vimrc.Symlinks können nicht effektiv mit Zieldateien mit den gleichen Namen erstellt werden.

Ich möchte eine Symlinks von ihnen zu meinem Home so machen, dass ihre Namen die gleichen wie in meinem Arbeitsbereich-Ordner sind.

Mein Versuch in Pseudo-Code

ln workarea/.[a-zA-Z] ~/.* 

Das Problem ist eine Bijektion von haben [a-zA-Z], um die Dateien, die in meinem Hause auftreten.

Wie können Sie Symlinks mit den Zieldateien des gleichen Namens wie die Originaldateien erstellen?

Antwort

2

'Mann ln' sagt:

ln [OPTION] ... TARGET ... Verzeichnis (3. Form)

Sie müssen also etwas tun:

ln -s workarea/.* ~/ $

1

Die Einsatzmöglichkeiten von ln symbolischen Link zu erstellen (s) sind:

ln -s <source-file> [<target-file]> 
ln -s <source-file> ... <target-dir> 

Bei der Eingabe von

ln -s workarea/.[a-zA-Z]* ~/.* 

(Ich glaube, Sie ein * fehlten) die Schale expandieren aus workarea/.[a-zA-Z]und~/.*, so (unter der Annahme, dass die HOME-Verzeichnis die Dateien enthält, .abc und .def) Sie würden sich mit

ln -s workarea/.bash_profile workarea/.bashrc ~/.abc ~/.def 

enden, die weder Nutzung passt von ln.

Um die zweite Verwendung von ln zu verwenden, benutzen Sie:

ln -s workarea/.[a-zA-Z]* ~/.