Create a Symlink
From InfoTechPedia
In computing, a symbolic link (also symlink or soft link) is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.[1]
The standard format is: ln -s absolute_path_source_file absolute_path_target_file
Create a New Symlink
To create a new symlink (will fail if symlink exists already):[2]
admin@server:~$ ln -s /home/server/a_directory/file.ext /home/server/public_html/file.ext
Create or Update a Symlink
To create or update a symlink:[2]
admin@server:~$ ln -sf /path/to/file /path/to/symlink
Example
Real world example of what to do
admin@server:~$ ln -sf /home/admin/Upload/file.php /home/admin/project/file.php
If you are in the directory you are linking, ex. /project
, no need to give the absolute path.
admin@server:~/project$ ln -sf /home/admin/Upload/file.php file.php
Output
This is an example of a directory listing using ls -la
. Files and directories that are symlinked will show an arrow like this ->
to indicate it is symlinked. See the output below.
admin@server:~/public_html/Upload$ ls -la total 24 drwxr-xr-x 5 admin admin 4096 Feb 25 10:47 . drwxr-x--- 24 admin admin 4096 Feb 25 04:02 .. lrwxrwxrwx 1 admin admin 60 Feb 25 10:47 .bulk_file_upload.sh -> /home/admin/GitRepo/Upload/.bulk_file_upload.sh lrwxrwxrwx 1 admin admin 49 Feb 25 10:46 .htaccess -> /home/admin/GitRepo/Upload/.htaccess drwxr-xr-x 3 admin admin 4096 Feb 7 16:29 Images lrwxrwxrwx 1 admin admin 50 Feb 25 10:46 .index.php -> /home/admin/GitRepo/Upload/.index.php drwxr-xr-x 3 admin admin 4096 Feb 7 16:56 Saved_Images-> ../GitRepo/Upload/Saved_Images lrwxrwxrwx 1 admin admin 51 Feb 25 10:46 .script.php -> /home/admin/GitRepo/Upload/.script.php admin@server:~/public_html/Upload$