Commit b7eea6

2024-03-29 12:51:07 Arpan S.: -/-
standard linux commands.md ..
@@ 2,4 2,69 @@
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.
+ #### `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:
+ 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](https://en.wikipedia.org/wiki/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:
+ ```python
+ 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.
+
+ ::: success
+ The `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.
+
+ ::: danger
+ Removing or Moving away the Source file will cause the sysLink to break and it won't work anymore. its is best advised to remove any broken sysLinks.
+ :::
+
+ Syntax:
+
+ `unlink` Command
+ ```
+ unlink symlink_to_remove
+ ```
+ `rm` Command
+ ```
+ rm symlink_to_remove
+ ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9