Skip to content

Linux Commands

System Information

# OS and kernel info
uname -a
cat /etc/os-release

# CPU / memory
lscpu
free -h

# Disk usage
df -h
du -sh /var/log/*

# Running processes
top
htop  # if installed

# List open files / ports
lsof -i :80
ss -tlnp

User & Permissions

# Add user
useradd -m -s /bin/bash username
passwd username

# Add to sudo group
usermod -aG sudo username

# Switch user
su - username

# Check current user groups
id
groups

# File permissions
chmod 755 file.sh
chown user:group file.txt
chmod -R 644 /var/www/html

Service Management (systemd)

# Status / start / stop / restart
systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx

# Enable at boot
systemctl enable nginx
systemctl disable nginx

# View logs for a service
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"

Networking

# IP addresses
ip addr show
ip route show

# Test connectivity
ping -c 4 8.8.8.8
curl -I https://google.com

# DNS
dig google.com A
nslookup google.com 8.8.8.8

# Open ports
ss -tlnp
netstat -tlnp  # older systems

# Firewall (ufw)
ufw status verbose
ufw allow 443/tcp
ufw deny from 192.168.1.100

File Operations

# Find files
find /etc -name "*.conf" -type f
find /var/log -mtime -1  # modified in last 24h

# Search in files
grep -r "error" /var/log/ --include="*.log"
grep -n "failed" /var/log/auth.log

# Archive
tar -czf backup.tar.gz /etc/nginx
tar -xzf backup.tar.gz -C /tmp/restore

# Disk I/O
iostat -x 1 5
iotop  # if installed

Docker

# List containers
docker ps -a

# Follow logs
docker logs -f container_name

# Execute into container
docker exec -it container_name bash

# Prune unused resources
docker system prune -af --volumes

# Compose
docker compose up -d
docker compose down
docker compose logs -f service_name