Most standard tools are non-interactive (use switches and parameters rather than confirming details of operations with user). Some switches are interchangeable, some are mutually exclusive.

pwd

Prints path to current working directory

Switch Shortcut Description
--logical -L Use PWD from env
--physical -P Avoid symlinks

ls

Lists files and directories

Command Description Notes
ls Shows files and directories in current directory
ls -l Shows files and directories in current directory as a list
ls -h Shows files and directories in current directory with sizes in human-readable format

df

Reports file system disk space usage

Command Description Notes
df Disk space usage
df -h Disk space usage in human-readable format Human-friendly refers to using KB/MB/GB/TB units
df -i inode usage Programs can't write to filesystem without free inodes
df -T Disk space usage with file system type
df -a Include all filesystems, even inaccessible ones

du

Reports file system disk usage

Command Description Notes
du Disk usage at specific path
du -c Disk space at specific path - count sums for directories
du -h Disk space at specific path - display output in human-friendly format For example, KB/MB/GB/TB
du -s Disk space sum at specific path

cp

Copies files/directories

Command Description Notes
cp input output Copy file input to output
cp -r input output Recursively copy files from input to output This switch is commonly used to copy all subdirectories and files within

mv

Moves/renames files/directories

Command Description Notes
mv input output Move file input to output Moving one file onto another, existing one will overwrite it

rm

Removes files/directories

Command Description Notes
rm file Removes file ❗ This is irreversible (without data recovery effort)
rm -r path Removes files recursively in path ❗ Any rm -r command can quickly erase all data on computer. Certain devices might be even broken using this

grep

Searches for string in file(s)

Command Description Notes
grep string * Find string in files in current directory
grep -r string * Find string in files in current directory or its subdirectories
grep -n string * Find string in files in current directory and display line number
grep -w string * Find whole-word string in files in current directory
grep -e string * Find regular expression string in files in current directory

chown

changes file owner and group

Command Description Notes
chown user file Change file owner to user
chown user:group file Change file owner to user and group to group
sudo chown -R user directory Change directory owner to user for directory and its subdirectories

chmod

changes file permissions

Permissions are typically noted by 3 numbers; leftmost being user, middle being group and rightmost being others.

Number on each position is a sum of desired permissions: 4 (read), 2 (write) and 1 (execute).

Note that directories require execution permission to be opened!

Command Description Notes
chmod +x file Make file executable
chmod 600 file Change file permissions to 600 (owner only read/write)
chmod -R 600 directory Recursively change files permissions Caution: this will alter directory permission too - directories cannot be opened without executable permission

find

Searches for files or directories

Command Description Notes
find -name "*string*" -type f Search for file with string in name
find -name "*string*" -type d Search for directories with string in name

sudo

Allows executing other commands as root. Operating as root is considered a bad practice and can lead to system instability - even without any mistakes!

Command Description Notes
sudo Shows sudo usage
sudo cmd Executes cmd as root ❗ Linux allows you to instantly delete/break stuff. Any command ran as root (prefaced with sudo) can have grave consequences
sudo -u user_name cmd Executes cmd as user named user_name