Как создать мягкую или символическую ссылку?

Я устанавливаю P4V в /opt, но /usr/bin на моем пути. Можно ли создать мягкую или символическую ссылку для p4v из /opt в /usr/binтак что я могу просто набрать "p4v", так как /usr/bin на моем пути?

8 ответов

Решение

Увидеть man ln,

Чтобы создать символическую ссылку на /usr/bin/bar который ссылается на оригинальный файл /opt/foo, используйте:

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

Вы должны будете применить вышеупомянутую команду как root (то есть с sudo).

Ошибка в том, что вы пишете команду неправильно. Правильный путь

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

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

Если исполняемый файл p4v находится в /opt/bin/p4v, вы можете просто запустить:

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

Было бы лучше добавить /opt/bin (или там, где находится исполняемый файл) к вашему пути:

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

Проверьте местоположение программного обеспечения этим.

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

например

which skype

выход будет таким.

/usr/bin/skype 

Создать мягкую ссылку. например, вы хотите создать программную ссылку для skype на вашем рабочем столе

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

Для получения дополнительной информации о ln,

man ln

или же

ln --help

Этот шаблон был более полезным для меня, чем приведенные выше ответы. Наверное, не более правильно, просто менее запутанно

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

Просто замените детали в <>"s

ln -s -n ./TargetDirectory ./Nickname

Обратите внимание, это работает, если вы оба узла находитесь под вами в одном дереве. Вы можете использовать относительные обозначения

  • Команда -s делает его символической ссылкой
  • -n позволяет де создать символическую ссылку типа папки

Я обнаружил, что проще перейти туда, где вы хотите, чтобы ссылка была, а затем создать ссылку, используя sudo ln -s /path/to/source/fileчем занимаешься ln -s target source,

Так что в вашем случае я бы сделал cd /usr/bin затем sudo ln -s /opt/bin/pv4, Другой способ не работал в моем случае.

Если это говорит target is not a folder, это означает, что в именах папок есть пробелы, например: New Folder имеет место

Вам нужно отредактировать путь и добавить обратную косую черту \ после каждого пробела

например:

ln -s /opt/bin /usr/var/New\ Folder
Другие вопросы по тегам