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.

General Explaination and use-case

There are two types of system links in linux:

  1. 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.
  2. 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.

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

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
#

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

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