Daily Shaarli
May 2, 2025
Links
Soft Link (Symbolic Link)
ln -s- Link will be removed if the original file is removed or renamed.
Hard Link
ln- Deleting, renaming, or moving the original file will not affect the hard link.
Diagram
INODE
↑
MY HARD LINK ← MYFILE.TXT → MY-SOFT-LINK
Command to check links:
ls -lTri
File Permissions
Permission Types
| Symbol | Permission | Example (Mnemonic) |
|---|---|---|
| R | Read | Riri (4) |
| W | Write | Winnie (2) |
| X | Execute | Xena (1) |
Each Permission (R, W, X) Can Be Controlled at Three Levels
- U → User
- G → Group
- O → Others (Everyone)
Permission Strings
Example:
-rwxrwxrwx
| | |
| | └── Others
| └───── Group
└───────── User
To remove write permission from all:
chmod a-w filename
To add read and write permission for user:
chmod u+rw filename
Directory Permissions
Example:
drwxrwxrwx
^ ^ ^
| | └── Others
| └───── Group
└───────── User
Numeric Permission Mapping
| Value | Permissions | Symbol | Mnemonic |
|---|---|---|---|
| 0 | No permission | --- | |
| 1 | Execute | --x | Xena |
| 2 | Write | -w- | Winnie |
| 3 | Execute + Write | -wx | |
| 4 | Read | r-- | Riri |
| 5 | Read + Execute | r-x | |
| 6 | Read + Write | rw- | |
| 7 | Read + Write + Exec | rwx |
Example to set permissions:
chmod 764 file
Breakdown:
- User (7) → rwx
- Group (6) → rw-
- Others (4) → r--
ls -l→ Listpwd→ Print working directory
dr-xr-xr-x
|
directories
-rw-r--r--
|
file
Linux File Types
| Symbol | Type |
|---|---|
| - | Regular file |
| d | Directory |
| l | Link |
| c | Special file or device file |
| s | Socket → Network communication / process data between external processes |
| p | Named pipe → FIFO → First In First Out, data between internal processes |
| b | Block device |
Inode = Pointer or number of a file on a hard disk.
/boot -> Grub.cfg
/root -> home of root
/dev -> system device (mouse, keyboard)
/etc -> configuration files
/bin -> /usr/bin -> everyday user commands
/sbin -> /usr/sbin -> system/filesystem commands
/opt -> third party app (not part of os)
/proc -> running process (only in memory)
/lib -> /usr/lib -> C prog lib
/tmp -> temporary folder
/home -> user dir
/var -> system logs
/run -> system daemon -> store temporary runtime / PID file
/mnt -> mount external file system
/media -> CDrom