Advanced Linux Command Combinations: Essential Hidden Features for Developers and Sysadmins


3 views

After years of working with Linux systems, I've discovered several powerful command combinations that significantly boost productivity. These aren't your basic ls or cd commands - these are the hidden gems that make Linux truly powerful.

Here are some lesser-known but extremely useful command sequences:

# Quickly find and edit a file
find . -name "*.conf" -exec vim {} +

# Monitor log files in real-time with highlighting
tail -f /var/log/syslog | grep --color -E 'error|warning|critical'

# Create a backup with timestamp
cp important_file{,.bak_$(date +%Y%m%d_%H%M%S)}

Linux's true power lies in its file manipulation capabilities:

# Find and delete empty directories
find . -type d -empty -delete

# Compare two directories visually
diff -qr dir1/ dir2/ | grep -v 'Common subdirectories'

# Securely wipe free space (useful before VM snapshots)
cat /dev/zero > wipefile; sync; rm wipefile

These commands provide deep system insights:

# Show top memory-consuming processes
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

# Monitor network connections by process
lsof -i -P -n | grep ESTABLISHED

# Check disk I/O in real-time
iostat -xmdz 1

Some time-saving Bash tricks:

# Quickly create a test file with random data
dd if=/dev/urandom of=testfile bs=1M count=100

# Extract a column from CSV (e.g., 2nd column)
awk -F',' '{print $2}' data.csv

# Count lines of code in a project
find . -name '*.py' | xargs wc -l | sort -nr

Advanced SSH techniques every admin should know:

# Create a persistent SSH connection
ssh -o ControlMaster=auto -o ControlPath=~/.ssh/%r@%h:%p user@host

# Securely copy files through intermediate host
scp -o ProxyCommand="ssh gateway_host nc %h %p" file.txt target_host:/path/

Handle processes like a pro with these commands:

# Run a command immune to hangups (nohup alternative)
setsid command &

# Show process tree with CPU/MEM usage
ps axfo pid,user,pcpu,pmem,args --sort -pcpu

# Kill processes matching a pattern
pkill -f "pattern"

Powerful network troubleshooting commands:

# Find which process is using a port
netstat -tulnp | grep :80

# Continuous ping with timestamp
ping example.com | while read pong; do echo "$(date): $pong"; done

# Test SSL/TLS connection
openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -text

When things go wrong, these can save you:

# Recover deleted files (must be done quickly)
grep -a -B100 -A100 "search_text" /dev/sda1 > recovered_file.txt

# Check filesystem without mounting
fsck -n /dev/sda1

# Boot into single-user mode (add to kernel params)
single init=/bin/bash

One of Linux's most powerful features is the ability to chain commands together. Here are some killer combinations:

# Find and process files in one go
find /var/log -name "*.log" -type f -mtime +30 -exec gzip {} \;

# Monitor network connections while filtering output
netstat -tulnp | grep -E '(nginx|apache)'

# Quickly analyze log files
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr

These tools deserve more attention:

# ncdu - NCurses Disk Usage analyzer
ncdu /var

# htop - Interactive process viewer
htop

# ripgrep - Faster grep alternative
rg "error" /var/log/ -n --color=auto

# jq - JSON processor
curl -s https://api.github.com/users/octocat/repos | jq '.[].name'

These commands will save you hours:

# Create a quick server (Python 3)
python3 -m http.server 8000

# SSH tricks
ssh -D 8080 user@example.com # SOCKS proxy
sshfs user@example.com:/remote/path /local/path

# Time command execution
time for i in {1..1000}; do curl -s localhost &>/dev/null; done

# Persistent tmux sessions
tmux new -s mysession
tmux attach -t mysession

Powerful one-liners for various tasks:

# Create a simple HTTP monitor
watch -n 1 "curl -s -o /dev/null -w '%{http_code}' example.com"

# Batch rename files
for file in *.jpg; do mv "$file" "${file%.jpg}_backup.jpg"; done

# Quick directory navigation
cd - # Go to previous directory
pushd /path/to/dir # Save current directory
popd # Return to saved directory

# Generate random password
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Essential monitoring commands:

# Show disk I/O activity
iotop -oP

# Monitor memory usage
watch -n 1 free -m

# Check CPU frequency scaling
watch -n 1 "cat /proc/cpuinfo | grep MHz"

# Network bandwidth monitoring
iftop -nNP