1. Linux Server Management Commands
These are common commands for managing Linux-based hosting environments:
System Monitoring & Management
htop # Interactive process viewertop # Show running processes
vmstat 1 # Show system performance (updates every second)
df -h # Show disk space usage
du -sh * # Show size of all files/folders in current directory
free -m # Check memory usage
uptime # Show system uptime
whoami # Check logged-in user
uname -a # Show OS details
User & Permissions
adduser # Create a new user usermod -aG sudo # Grant sudo privileges
passwd # Change user password
chmod 755 # Set executable permissions
chown user:group # Change file ownership
Networking
ping google.com # Test connectivitycurl -I google.com # Check HTTP headers
netstat -tulnp # Show open ports
ss -tulnp # Show listening ports (alternative to netstat)
iptables -L # List firewall rules
traceroute google.com # Show route to destination
2. Web Server Management (Apache, Nginx)
Apache
systemctl restart apache2 # Restart Apache (Ubuntu/Debian)systemctl restart httpd # Restart Apache (CentOS/RHEL)
apachectl configtest # Check Apache configuration
tail -f /var/log/apache2/error.log # Check Apache error logs
Nginx
systemctl restart nginx # Restart Nginxnginx -t # Test Nginx configuration
tail -f /var/log/nginx/error.log # Check Nginx error logs
3. Database Commands (MySQL, PostgreSQL)
MySQL / MariaDB
mysql -u root -p # Login to MySQLSHOW DATABASES; # List databases
USE database_name; # Select database
SHOW TABLES; # Show tables
mysqldump -u root -p database > backup.sql # Backup database
mysql -u root -p database < backup.sql # Restore database
PostgreSQL
psql -U postgres # Login to PostgreSQL\l # List databases
\c database_name # Connect to a database
\dt # List tables
pg_dump -U postgres dbname > backup.sql # Backup database
psql -U postgres dbname < backup.sql # Restore database
4. Application Deployment & Process Management
Git Deployment
git clone repo.git # Clone a repositorygit pull origin main # Update project
git log --oneline --graph --decorate # Show commit history
PM2 (Process Manager for Node.js)
pm2 start app.js # Start a Node.js apppm2 restart app # Restart app
pm2 logs # View logs
pm2 save # Save process list for auto-start
pm2 startup # Generate startup script
Docker
docker ps # List running containersdocker images # List all images
docker pull image_name # Pull an image
docker run -d -p 80:80 image_name # Run a container
docker logs -f container_id # View logs
docker-compose up -d # Start services with Docker Compose
docker-compose down # Stop all services
5. Cron Jobs for Scheduling Tasks
List Existing Cron Jobs
crontab -l
Edit Crontab
crontab -e
Example Cron Jobs
# Run script every minute* * * * * /path/to/script.sh
# Run backup at midnight
0 0 * * * /path/to/backup.sh
# Restart a service daily at 2 AM
0 2 * * * systemctl restart nginx
6. Logs & Debugging
tail -f /var/log/syslog # View system logs in real-timetail -f /var/log/auth.log # View authentication logs
journalctl -u nginx --no-pager # View Nginx logs
journalctl -xe # View system errors
7. Cloud & Serverless (AWS, DigitalOcean, Google Cloud)
AWS CLI
aws s3 ls # List S3 bucketsaws s3 cp file.txt s3://mybucket # Upload file to S3
aws ec2 describe-instances # Show EC2 instances
aws lambda invoke --function-name myFunction output.txt # Invoke Lambda function
Google Cloud CLI
gcloud compute instances list # List VM instancesgcloud storage buckets list # List storage buckets
gcloud functions deploy myFunc --trigger-http # Deploy Cloud Function
DigitalOcean
doctl compute droplet list # List dropletsdoctl compute droplet delete ID # Delete a droplet
8. Security & Hardening
ufw enable # Enable firewall (Ubuntu)ufw allow 22 # Allow SSH
ufw allow 80/tcp # Allow HTTP traffic
fail2ban-client status sshd # Check SSH protection
ssh-keygen -t rsa # Generate SSH key
ssh-copy-id user@server # Copy SSH key to remote server
9. Load Balancing & Reverse Proxy
Nginx Reverse Proxy
server { listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
systemctl restart nginx # Restart Nginx10. Backup & Restore
tar -czvf backup.tar.gz /var/www/html # Backup websitetar -xzvf backup.tar.gz # Restore backup
rsync -avz /source/dir/ user@server:/destination/dir/ # Sync files