Standard Linux Commands
This page contains some standard linux commands that are available for use across all linux systems but are easy to forget that they exist or using them can get confusing sometimes.
ln
Command - How to create symbolic links / sys links in Linux.
General Explaination and use-case
There are two types of system links in linux:
- Hard Links: Its is like having an alias name to an existing file. It links (better term: syncs) two or more file names with the same inode. *You can only create hardlinks for files & folders on the same filesystem or partition*. One file can have multiple hardlinks.
- Soft Links: A soft link can be related to a shortcut in windows, it allows a file to be accessed from one directory to other without having to keep 2 copies of it. Soft Links can be created across different filesystems and partitions.
How to use ln command
By default ln
command creates Hard Links, To make Soft Links, We can use the -s
(--symbolic
) flag
Syntax:
ln -s [OPTIONS] SOURCE_FILE DESTINATION_LINK
DESTINATION_LINK
is optional, If that is not specified then it will create a system link in the current working directory with the same name.
ln
command provides no output if ran successfully.Examples
SysLink a Normal file
ln -s file1 file2
SysLink a Normal file in different directories
ln -s /root/file1 /var/www/html/file1
SysLink a Normal Directory to another
ln -s /root/downloads /downloads
How to see if a file is a System Link:
To see if a file is already a system link/sysLink/symbolic link, We can use the ls
command with the -l
flag. Syntax:
# ls -l syslinked_file lrwxrwxrwx 1 root root 9 Nov 22 2004 /root/og_file -> syslinked_file #
How to overwrite a System Link:
To overwrite an existing sysLink when the DESTINATION_FILE
already exists as a sysLink, we can use the -f flag. Syntax Below:
ln -sf new-file.conf existing-syslink.conf
How to remove/delete a System Link:
To delete/remove a sysLink we can use the rm
or unlink
command. Please note that both commands work exactly the same.
Syntax:
unlink
Command
unlink symlink_to_remove
rm
Command
rm symlink_to_remove