web-dev-qa-db-fra.com

Comment créer un lien symbolique?

J'installe p4v dans /opt, mais /usr/bin est sur mon chemin. Est-il possible de créer un lien symbolique ou logiciel pour p4v de /opt à /usr/bin, afin que je puisse simplement taper "p4v" puisque /usr/bin est sur mon chemin?

432
coffee

Voir man ln.

Pour créer un lien symbolique à /usr/bin/bar qui fait référence au fichier d'origine /opt/foo, utilisez:

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

Vous devez appliquer la commande ci-dessus en tant que root (c'est-à-dire avec Sudo).

626
Michał Šrajer

L'erreur est que vous écrivez la commande mal. La bonne façon est

ln -s /<full>/<path>/<to>/<file> /usr/local/bin

http://ubuntuforums.org/showthread.php?t=2001697

Si l'exécutable 'p4v' se trouve dans/opt/bin/p4v, vous pouvez simplement lancer:

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

Il serait préférable d’ajouter/opt/bin (ou où que se trouve l’exécutable) à votre chemin:

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

Vérifiez l'emplacement du logiciel par ceci.

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

par exemple

which skype

la sortie sera la suivante.

/usr/bin/skype 

Pour créer le lien symbolique. Par exemple, vous voulez créer le lien symbolique pour skypesur votre bureau.

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

Pour plus d'informations sur lnname__.

man ln

ou

ln --help
4
Hafiz Shehbaz Ali
ln -s -n ./TargetDirectory ./Nickname

Remarque, cela fonctionne si les deux nœuds sont en dessous de vous dans le même arbre. Vous pouvez utiliser la notation relative

  • La commande -s en fait un lien symbolique
  • -n permet de créer un lien symbolique de type dossier
2
Mohamad El Boudi

Ce modèle m'a été plus utile que les réponses ci-dessus. Probablement pas plus correct, juste moins obscurci:

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

Il suffit de remplacer les pièces dans <> 's

0
LucasY

J'ai constaté qu'il est plus facile d'aller où vous voulez que le lien se trouve, puis de le créer en utilisant Sudo ln -s /path/to/source/file, plutôt que de faire ln -s target source.

Donc, dans votre cas, je ferais cd /usr/bin puis Sudo ln -s /opt/bin/pv4. L'autre façon n'a pas fonctionné dans mon cas.

0
briankip

S'il indique target is not a folder, cela signifie qu'il y a des espaces dans les noms de dossier, par exemple: New Folder a un espace.

Vous devez modifier le chemin et ajouter une barre oblique inverse \ après chaque espace dans les chemins.

par exemple:

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