Wie erstelle ich eine weiche oder symbolische Verknüpfung?


465

Ich installiere p4v in /opt, bin aber /usr/binauf meinem Weg. Ist es möglich, einen weichen oder symbolischen Link für p4v von /optbis zu erstellen /usr/bin, sodass ich nur "p4v" eingeben kann, da /usr/binsich dieser in meinem Pfad befindet?


Antworten:


666

Sehen man ln.

Verwenden Sie zum Erstellen eines Symlinks, unter /usr/bin/bardem auf die Originaldatei verwiesen wird /opt/foo, Folgendes:

ln -s /opt/foo /usr/bin/bar

Sie müssten den obigen Befehl als root (dh mit sudo) anwenden .


Ich benutze: sudo ln –s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/000-redmineFehler bekommen:ln: target '/etc/apache2/sites-enabled/000-redmine' is not a directory
RAJ ...

1
In der Ubuntu-Dokumentation heißt es: "Erstellt standardmäßig feste Links, symbolische Links mit --symbolic." Wird mit der obigen Lösung ein symbolischer Link erstellt, wie vom OP gefordert?
Tanay

4
Ich dachte, César wollte seine Dateien in / opt und / usr / bin ablegen, um den symbolischen Link zu haben, nicht anders herum.
Missgeschick

4
@mishap ist für mich richtig. Es ist anders herum.
Daniel Szmulewicz

2
@kevinmicke nach Ihrer Erklärung endlich erkannt, dass die Erklärung der Antwort in umgekehrter Reihenfolge als der Befehl angegeben wurde, so dass mein Gehirn (und andere) es rückwärts lesen
Andrew


21

Wenn sich die ausführbare Datei 'p4v' unter / opt / bin / p4v befindet, können Sie einfach Folgendes ausführen:

sudo ln -s /opt/bin/p4v /usr/bin/p4v
sudo chmod ugo+x /usr/bin/p4v

Es wäre besser, / opt / bin (oder wo immer sich die ausführbare Datei befindet) zu Ihrem Pfad hinzuzufügen:

echo "export PATH=\$PATH:/opt/bin" >> ~/.profile
reset

~/.profilewäre besser zum einstellen $PATH.
Lekensteyn

Sie können bearbeiten /etc/environment, um PATH systemweit zu ändern.
Michał Šrajer

4

Überprüfen Sie den Softwarestandort auf diese Weise.

which application-name #replace for the application you are looking for

zum Beispiel

which skype

Ausgabe wird dies sein.

/usr/bin/skype 

So erstellen Sie den Softlink. Sie möchten beispielsweise den Softlink für skypeauf Ihrem Desktop erstellen

ln -s /usr/bin/skype ~/Desktop/

Weitere Informationen zu ln.

man ln

oder

ln --help

2
ln -s -n ./TargetDirectory ./Nickname

Beachten Sie, dass dies funktioniert, wenn sich beide Knoten im selben Baum unter Ihnen befinden. Sie können die relative Notation verwenden

  • -s Befehl macht es zu einem symbolischen Link
  • -n ermöglicht das Erstellen eines Symlinks vom Typ Ordner

Willkommen bei askubuntu.com. In diesem Fall ist die $Angabe einer Eingabeaufforderung eine Stilauswahl, die wahrscheinlich kein Problem darstellt. Bedenken Sie jedoch, dass das Einfügen von Dingen in einen anderen Codeblock als den Code und dessen Ausgabe Verwirrung stiften kann.
J. Starnes

1

Diese Vorlage war für mich hilfreicher als die obigen Antworten. Wahrscheinlich nicht korrekter, nur weniger verschleiert:

ln -s <path/to/real/file-or-folder> <symlink path>

Ersetzen Sie einfach die Teile in <>'s


0

Wenn es heißt target is not a folder, gibt es Leerzeichen in Ihren Ordnernamen, zB: New Folderhat ein Leerzeichen

Sie müssen den Pfad bearbeiten und \nach jedem Leerzeichen in den Pfaden einen Backslash einfügen

z.B:

ln -s /opt/bin /usr/var/New\ Folder

3
Dies ist keine Antwort auf die Frage des OP. Bitte warten Sie, bis Sie genug Reputation haben, um Kommentare hinzuzufügen.
derHugo

0

Ich habe festgestellt, dass es einfacher ist, zu der Stelle zu gelangen, an der sich der Link befinden soll, und den Link dann mithilfe von zu erstellen sudo ln -s /path/to/source/file, als dies zu tun ln -s target source.

Also in deinem Fall würde ich das cd /usr/bindann tun sudo ln -s /opt/bin/pv4. Der andere Weg hat in meinem Fall nicht funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.