🔔 Prelude: With these commands you are able to do most text-related work the same as you are on Windows.

Linux Common Commands

System Management

System Information

# Basic system information
lscpu                                  # Detailed CPU information
uname -a                               # Kernel and architecture info
cat /etc/os-release                    # Distribution information

# Hardware information
lsblk                                  # Block devices
lsusb                                  # USB devices
lspci                                  # PCI devices

Package Management

# dpkg package management
sudo dpkg -i package.deb                           # Install deb package
dpkg -l | grep package_name                        # Search installed packages
dpkg -L package_name                               # List package files
dpkg -S /path/to/file                              # Find which package owns file

Monitoring and Performance

Memory and Disk

# Memory usage
free -h                                # Human readable format
watch -n 1 free -h                     # Real-time monitoring

# Disk usage
df -h                                  # Disk usage
du -sh /path/to/directory              # Directory size
du -h --max-depth=1 | sort -hr         # Sort directories by size
sudo fdisk -l                          # Partition table info

System Monitoring

# Temperature monitoring
vcgencmd measure_temp                   # Raspberry Pi temperature
sensors                                # General temperature sensors
watch -n 1 vcgencmd measure_temp        # Real-time temperature monitoring

# Process monitoring
ps aux                                 # All processes
top                                    # Real-time process monitor
htop                                   # Enhanced top
ps aux --sort=-%mem | head -10         # Sort by memory usage
ps aux --sort=-%cpu | head -10         # Sort by CPU usage

# I/O monitoring
sudo iotop                             # I/O usage
sudo iotop -o                          # Show only processes doing I/O

Network Monitoring

# Connection status
ss -tuln                               # Network connections
ss -a                                  # All connections
ss -tuln | grep :22                    # Specific port

# Traffic monitoring
iftop                                  # Interface traffic (requires installation)
nethogs                               # Traffic by process (requires installation)

Processes and Services

Process Management

# Find processes
pgrep -f "process_name"                # Find process PID
ps aux | grep "process_name"           # Detailed information

# Terminate processes
kill PID                               # Normal termination
kill -9 PID                            # Force termination
pkill "process_name"                   # Terminate by name

Background Jobs

# Background execution
command &                              # Start in background
nohup command &                        # Run without hangup

# Job control
Ctrl + Z                               # Suspend current process
bg                                     # Continue in background
fg                                     # Bring to foreground
jobs                                   # List background jobs

# tmux sessions
tmux new-session -d -s session_name "command"
tmux attach -t session_name

Service Management

# systemd services
systemctl status service_name          # Check status
systemctl start/stop/restart service_name
systemctl enable/disable service_name  # Auto-start on boot

# Log viewing
journalctl -u service_name             # Service logs
journalctl -f                          # Real-time logs
journalctl --since "2 hours ago"       # Time range

Scheduled Tasks

# cron jobs
crontab -e                             # Edit
crontab -l                             # List

# Syntax: minute hour day month weekday command
# 0 2 * * * /home/user/backup.sh      # Run daily at 2 AM
# */10 * * * * /usr/bin/check.sh      # Run every 10 minutes

Network Management

Network Interfaces

# View network interfaces
ip addr show                           # All interfaces
ip a                                   # Short form
ip link show up                        # Enabled interfaces

# Manage interfaces
sudo ip link set eth0 up/down          # Enable/disable interface

# Routing information
ip route show                          # Routing table
ip route | grep default                # Default gateway

WiFi Management

# NetworkManager
nmcli dev wifi list                    # Scan WiFi
nmcli dev wifi connect "SSID" password "password"
nmcli connection show                  # Saved connections

# Traditional tools
iwconfig                               # WiFi interface status

Network Testing

# Connectivity testing
ping google.com
ping -c 4 google.com                   # Limit count
traceroute google.com                  # Path tracing

# Port testing
nc -zv google.com 80                   # Port connectivity
nmap -p 22,80,443 target_host          # Port scanning

# DNS queries
dig google.com                         # DNS lookup
cat /etc/resolv.conf                   # DNS configuration

# Firewall
sudo ufw status                        # Ubuntu firewall status

Files and Text

File Finding

# Find by name
find /path -name "filename"
find . -name "*.txt"                   # By extension
find . -type f -name "*.log"           # Files only
find . -type d -name "temp*"           # Directories only

# Command location
which python3                          # Command location
whereis python3                        # Binary, source, manual

# Fast search
sudo updatedb                          # Update database
locate filename                        # Quick search
# Basic search
grep "pattern" file.txt
grep "pattern" *.txt                   # Multiple files

# Common options
grep -i "pattern" file                 # Ignore case
grep -r "pattern" directory/           # Recursive search
grep -n "pattern" file                 # Show line numbers
grep -v "pattern" file                 # Invert match

# Context search
grep -A 3 "pattern" file               # Show 3 lines after
grep -B 3 "pattern" file               # Show 3 lines before
grep -C 3 "pattern" file               # Show 3 lines around

File Content Operations

# View files
cat file.txt                           # Full content
head -20 file.txt                      # First 20 lines
tail -20 file.txt                      # Last 20 lines
tail -f file.txt                       # Follow changes
less file.txt                          # Paged viewing

# Sort and unique
sort file.txt                          # Sort
sort -n numbers.txt                    # Numeric sort
sort file.txt | uniq                   # Remove duplicates

# File comparison
diff file1.txt file2.txt               # Basic comparison
diff -u file1 file2                    # Unified format
diff -y file1 file2                    # Side-by-side

Text Processing and Pipes

# sed stream editor
sed 's/old/new/g' file.txt             # Global replacement
sed -i 's/old/new/g' file.txt          # In-place modification
sed '/pattern/d' file.txt              # Delete matching lines
sed -n '1,10p' file.txt                # Print specific lines

# awk text processing
awk '{print $1}' file.txt              # Print first column
awk '{print $1, $3}' file.txt          # Print multiple columns
awk '/pattern/ {print $2}' file.txt    # Conditional print
awk -F':' '{print $1}' /etc/passwd     # Specify delimiter
awk '{sum += $1} END {print sum}' numbers.txt  # Calculate sum

# Pipes and redirection
command > file.txt                     # Output redirection
command >> file.txt                    # Append redirection
command 2> error.log                   # Error redirection
command &> all.log                     # All output redirection

# Pipe operations
command1 | command2                    # Basic pipe
cat log | grep "ERROR" | awk '{print $1}' | sort | uniq -c

# tee splitting
command | tee file.txt                 # Output to both file and terminal
command | tee -a file.txt              # Append mode
echo "text" | sudo tee /root/file.txt > /dev/null  # Privilege escalation write

Transfer and Compression

Network Downloads

# wget downloads
wget https://example.com/file.zip
wget -O newname.zip https://example.com/file.zip  # Specify filename
wget -c https://example.com/largefile.iso         # Resume download

# curl downloads
curl -O https://example.com/file.zip               # Keep original filename
curl -o newname.zip https://example.com/file.zip   # Specify filename
curl -C - -O https://example.com/largefile.iso     # Resume download

Remote Transfer

# scp secure copy
scp file.txt user@remote:/path/                    # Upload file
scp -r directory/ user@remote:/path/               # Upload directory
scp user@remote:/path/file.txt ./                  # Download file
scp -P 2222 file.txt user@remote:/path/            # Specify port

# rsync synchronization
rsync -av source/ destination/                     # Basic sync
rsync -av --delete source/ destination/            # Delete extra files
rsync -av source/ user@remote:/path/               # Remote sync
rsync -avz --progress source/ destination/         # Compression + progress

Compression and Extraction

# tar archives
tar -czf archive.tar.gz files/                     # Create compressed archive
tar -xzf archive.tar.gz                            # Extract archive
tar -tzf archive.tar.gz                            # View contents
tar -xzf archive.tar.gz -C /destination/           # Extract to directory

# zip compression
zip -r archive.zip directory/                      # Compress directory
unzip archive.zip                                  # Extract
unzip archive.zip -d /destination/                 # Extract to directory
unzip -l archive.zip                               # View contents

Device Management

USB Devices

# USB device management
lsusb                                  # USB device list
lsusb -v                               # Detailed information
watch -n 1 lsusb                       # Real-time monitoring

# Mount USB
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb          # Mount
sudo umount /mnt/usb                   # Unmount

Bluetooth Devices

# Bluetooth management
systemctl status bluetooth             # Service status
sudo hciconfig hci0 up                 # Enable adapter
sudo hcitool scan                      # Scan devices

# Bluetooth console
bluetoothctl
# Common commands: power on, scan on, pair <MAC>, connect <MAC>

Audio Devices

# Audio devices
aplay -l                               # Playback devices
arecord -l                             # Recording devices
pactl list sinks short                 # PulseAudio output devices

# Volume control
alsamixer                              # Graphical mixer
amixer sset Master 80%                 # Set volume
pactl set-sink-volume @DEFAULT_SINK@ 50%

Quick Operations

History Operations

# History search
Ctrl + R                               # Reverse search history
Ctrl + S                               # Forward search history
history                                # Show history list
history | grep "pattern"               # Search history commands

# ! operator (history expansion)
!!                                     # Repeat last command
!$                                     # Last argument of previous command
!^                                     # First argument of previous command
!*                                     # All arguments of previous command
!n                                     # Execute nth command in history
!ssh                                   # Execute most recent command starting with ssh
!?config                               # Execute most recent command containing config

# Quick substitution
^old^new                               # Replace old with new in last command
!!:s/old/new                           # Same as above, sed-style replacement
sudo !!                                # Add sudo to previous command

# Argument operations
echo !$                                # Show last argument of previous command
ls !*                                  # Use all arguments from previous command with ls

Quick Editing

# Cursor movement
Ctrl + A                               # Move to beginning of line
Ctrl + E                               # Move to end of line
Ctrl + F                               # Move forward one character
Ctrl + B                               # Move backward one character
Alt + F                                # Move forward one word
Alt + B                                # Move backward one word

# Deletion operations
Ctrl + K                               # Delete from cursor to end of line
Ctrl + U                               # Delete from cursor to beginning of line
Ctrl + W                               # Delete previous word
Alt + D                                # Delete next word
Ctrl + H                               # Delete previous character (same as Backspace)
Ctrl + D                               # Delete current character

# Copy and paste
Ctrl + Y                               # Paste last deleted content
Alt + Y                                # Cycle through deletion history

# Other editing
Ctrl + T                               # Transpose current and previous character
Alt + T                                # Transpose current and previous word
Alt + U                                # Convert current word to uppercase
Alt + L                                # Convert current word to lowercase
Alt + C                                # Capitalize current word
Ctrl + _                               # Undo last edit

# System control
Ctrl + L                               # Clear screen
Ctrl + C                               # Interrupt current command
Ctrl + Z                               # Suspend current process
Ctrl + D                               # End input/exit shell

# Auto-completion
Tab                                    # Auto-complete
Tab Tab                                # Show all possible completions
Alt + .                                # Insert last argument of previous command
Alt + *                                # Expand all possible completions for current word

Directory and File Operations

# Directory operations
cd -                                   # Return to previous directory
pushd/popd                             # Directory stack operations
mkdir -p path/to/deep/directory        # Create nested directories

# {} Brace expansion - generates multiple names
touch file{1,2,3}.txt                  # Creates file1.txt file2.txt file3.txt
mkdir {backup,temp,logs}               # Create multiple directories
cp file.txt{,.bak}                     # Copy to file.txt.bak
echo {A..Z}                           # Expand A B C ... Z
echo {1..10}                          # Expand 1 2 3 ... 10
echo {01..10}                         # Expand 01 02 03 ... 10 (preserve format)

# [] Bracket matching - matches existing files
ls file[123].txt                       # Match file1.txt file2.txt file3.txt
ls file[1-5].txt                       # Match file1.txt to file5.txt
ls [abc]*.txt                          # Match txt files starting with a, b, or c
ls [A-Z]*.log                          # Match log files starting with uppercase
ls file[!123].txt                      # Match files except file1,2,3.txt
rm temp[0-9][0-9].tmp                  # Delete files like temp01.tmp to temp99.tmp

# Wildcard combinations
cp *.{jpg,png,gif} images/             # Copy all image files
ls file[1-3].{txt,log}                 # Match file1.txt, file1.log, etc.
find . -name "*[0-9].txt"              # Find txt files ending with digits