Ln /

Symbolic Links

A symbolic link allows you to create what appears to be a new file but which points to an existing file. The command is:

$ ln -s /path/to/file /path/to/link

This creates a symbolic link /path/to/link which points to /path/to/file.

It can be very handy to have multiple copies of a file in different places. For example, you might have a binary with a long name, such as python3.8, but it would be easier to call it python. You can use a symbolic link so that /usr/local/bin/python3.8 points /usr/local/bin/python:

$ doas ln -s /usr/local/bin/python3.8 /usr/local/bin/python

This creates a symbolic link /usr/local/bin/python which points to /usr/local/bin/python3.8.

If you long list it without following symbolic links:

$ ls -ld /usr/local/bin/python
lrwxr-xr-x  1 root  wheel  24 Feb 25 07:13 /usr/local/bin/python -> /usr/local/bin/python3.8

The -> indicates that /usr/local/bin/python is a symbolic link.

Symbolic links can be used on folders, too! This can be very handy:

$ doas ln -s /var/www/htdocs /home/username/htdocs

Now, any files you put in your home folder's htdocs will automatically show up in /var/www/htdocs (the folder for your web server).