File Ownership
chown
→ Change ownership
chgrp
→ Change group
Access Control List (ACL)
setfacl
→ Set file ACL
getfacl
→ Get file ACL
Add Permission to User
setfacl -m u:user:rwx /path/to/file
setfacl -m g:group:rw /path/to/file
Recursive Inheritance from Folder
setfacl -R -m entry /path/to/dir
Remove Specific ACL Entry
setfacl -x u:user /path/to/file
Remove All ACL Entries
setfacl -b /path/to/file
Check ACL
ls -ltr
Example output:
-rw-rw-r--+
Help Commands
whatis
command
command --help
man
command
Add Text to a File
echo "my text" > myfile # Overwrite
cat myfile # Read the text
echo "hello" >> myfile # Append
Input and Output Redirects
3 Redirect Types
stdin
→ 0 → <
or <<
→ Feeding file content to a command
stdout
→ 1 → >
or >>
stderr
→ 2 → 2>
or 2>>
→ Write error output to a file
tee Command
echo "test" | tee myfile
tee -a file # Append
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
→ List
pwd
→ 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.
Fold
Fold all
Expand
Expand all
Are you sure you want to delete this link?
Are you sure you want to delete this tag?
The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community