I am installing p4v in /opt, but /usr/bin is on my path. Is it possible to create a soft or symbolic link for p4v from /opt to /usr/bin, so I can just type "p4v" since /usr/bin is in my path?

share|improve this question
    
up vote 420 down vote accepted

See man ln.
To create a symlink /usr/bin/bar => /opt/foo, (i.e., create a symlink at /usr/bin/bar which references the original file /opt/foo) do:

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

You would need to apply the above command as root (with sudo).

share|improve this answer
    
I am using: sudo ln –s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/000-redmine getting error: ln: target '/etc/apache2/sites-enabled/000-redmine' is not a directory – RAJ ... Aug 4 '12 at 7:29
    
@RAJ...: Perhaps an example can help ln -s /etc/vim/vimrc /home/paf/Copy/Programming/Apps/Tools/Vim – pablofiumara Nov 11 '13 at 18:31
    
The Ubuntu documentation says " Creates hard links by default, symbolic links with --symbolic." Will the above solution create a symbolic link as asked by OP? – Tanay May 26 '15 at 5:27
4  
I though César wanted to put his files in the /opt and /usr/bin to have the symbolic link, not other way around. – mishap Nov 26 '15 at 23:41
3  
@mishap is right as far as I'm concerned. It's the other way around. – Daniel Szmulewicz Dec 18 '15 at 17:05

The error is that you are writing the command wrong. The correct way is

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

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

share|improve this answer

If the 'p4v' executable is at /opt/bin/p4v, you can simply run:

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

It would be better to add /opt/bin (or wherever the executable is) to your path:

echo "export PATH=\$PATH:/opt/bin" >> ~/.profile
reset
share|improve this answer
    
~/.profile would be better for setting $PATH. – Lekensteyn Aug 8 '11 at 19:30
    
you can edit /etc/environment to modify PATH system wide. – Michał Šrajer Aug 8 '11 at 19:44

Check the software location by this.

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

for example

which skype

output will be this.

/usr/bin/skype 

To create the soft link. for example you want to create the soft link for skype on your desktop

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

For more information about ln.

man ln

or

ln --help
share|improve this answer

If it is saying target is not a folder, it means there are spaces in your folder names eg: New Folder has a space

You need to edit the path and add a backslash \ after every space in the paths

eg:

ln -s /opt/bin /usr/var/New\ Folder
share|improve this answer
2  
This is not an answer to the OPs question. Please wait until you have enough reputation to add comments. – derHugo Nov 9 '17 at 5:59
$ln -s -n ./TargetDirectory ./Nickname

Note, this works if you both nodes are below you in the same tree. You can use relative notation

-s command makes it a symbolic link -n makes it possible de create a folder-type symlink

share|improve this answer
    
Welcome to askubuntu.com. In this case the $ to indicate a command line prompt is a style choice, and not likely to be a problem. However bear in mind that including things in a code block other than the code and its output can cause confusion. – J. Starnes Dec 12 '17 at 0:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.