Я устанавливаю p4v в /opt
, но /usr/bin
находится на моем пути. Действительно ли возможно создать гибкую или символьную ссылку для p4v от /opt
кому: /usr/bin
, таким образом, я могу просто тип "p4v" с тех пор /usr/bin
находится в моем пути?
Смотрите man ln
.
Для создания сим-ссылки на /usr/bin/bar
, которая ссылается на исходный файл /opt/foo
, используйте:
ln -s /opt/foo /usr/bin/bar
Вам нужно будет применить вышеприведенную команду в качестве корневой (т.е. с помощью sudo
).
Если исполняемый файл '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
Ошибка в том, что вы неправильно пишете команду. Правильный способ -
ln -s /<full>/<path>/<to>/<file> /usr/local/bin
С помощью этого проверьте расположение программного обеспечения.
which application-name #replace for the application you are looking for
например
which skype
вывод будет таким.
/usr/bin/skype
Для создания софт-ссылки. например, вы хотите создать программную ссылку для скайпа
на рабочем столе
ln -s /usr/bin/skype ~/Desktop/
Для получения дополнительной информации о ln
.
man ln
или
ln --help
ln -s -n ./TargetDirectory ./Nickname
Обратите внимание: это работает, если вы оба узла находятся ниже вас в одном дереве. Вы можете использовать относительную нотацию
Если он говорит, что цель не является папкой
, это означает, что в именах ваших папок есть пробелы, например: Новая папка
имеет пробел
Вам необходимо отредактировать путь и добавить обратную косую черту \
после каждого пробела в путях
, например:
ln -s /opt/bin /usr/var/New\ Folder
Я обнаружил, что проще перейти туда, где должна быть ссылка, а затем создать ссылку с помощью sudo ln -s / path / to / source / file
, чем выполнение ln -s target source
.
Так что в вашем случае я бы сделал cd / usr / bin
, затем sudo ln -s / opt / bin / pv4
. В моем случае другой способ не работал.
Этот шаблон был больше полезно для меня, чем приведенные выше ответы. Вероятно, не более правильно, просто менее запутанно:
ln -s <path/to/real/file-or-folder> <symlink path>
Просто замените части в <>