The world’s most popular server OS – CLI essentials for daily administration
Ubuntu Server 25.10 (Questing Quokka) released October 2025: Kernel 6.17, OpenJDK 25, Python 3.14 RC3, Golang 1.25, Rust 1.85. LTS: 24.04 (Noble Numbat) with 12 years support via Ubuntu Pro.
Debian-based with apt package manager. All privileged commands require sudo. Access via SSH (port 22) or console.
1. Installation & Initial Setup
| Task | Command / Action |
| Download ISO | ubuntu.com/download/server → 25.10 (latest) or 24.04 LTS |
| Boot & Install | USB boot → Language → Install Ubuntu Server → Set hostname, user, SSH key (recommended) |
| Enable SSH | During install: Check Install OpenSSH server Post-install: sudo apt install openssh-server |
| Update system | sudo apt update && sudo apt upgrade -y |
| Set timezone | sudo timedatectl set-timezone America/New_York (or your region) |
| Configure firewall (UFW) | sudo ufw allow OpenSSH sudo ufw enable |
| Add user to sudo | sudo usermod -aG sudo username |
Cloud Images: For AWS/GCP/Azure: Use official AMIs. Minimal install: ~300MB RAM. Pro Tip: Enable unattended upgrades: sudo apt install unattended-upgrades → sudo dpkg-reconfigure unattended-upgrades.
2. Navigation & File Management
| Task | Command |
| Show current directory | pwd |
| List files (detailed) | ls -la |
| List by time (newest first) | ls -lht |
| List with human-readable sizes | ls -lh |
| Change directory | cd /var/www |
| Go home | cd ~ |
| Go up one level | cd .. |
| Go to previous directory | cd – |
| Show directory tree | tree -L 2 (install: sudo apt install tree) |
3. Create, Copy, Move & Delete
| Action | Command |
| Create directory | mkdir foldername |
| Create nested directories | mkdir -p /path/to/nested/folder |
| Create empty file | touch filename.txt |
| Create multiple files | touch file1.txt file2.txt file3.txt |
| Edit/create with nano | nano filename.txt (Ctrl+O save, Ctrl+X exit) |
| Copy file | cp file.txt /backup/ |
| Copy directory recursively | cp -r folder /backup/ |
| Move/rename file | mv old.txt new.txt |
| Move file | mv file.txt /new/location/ |
| Delete file | rm file.txt |
| Delete directory | rm -r folder (empty) rm -rf folder (with contents, dangerous!) rm -ri folder (with prompts) |
4. Disk & Storage
| Task | Command |
| Disk usage (human-readable) | df -h |
| Detailed disk output | df -h –output=source,fstype,size,used,avail,pcentused,target |
| Folder size | du -sh /path |
| Current directory sizes (largest first) | du -sh * | sort -hr |
| List block devices | lsblk |
| List all disks | sudo fdisk -l |
| Interactive disk explorer | ncdu / (install: sudo apt install ncdu) |
5. Search & Find
| Task | Command |
| Find files by name | find /var/www -name “*.log” |
| Find large files (>100MB) | find / -type f -size +100M 2>/dev/null |
| Search text in files | grep -r “search term” /var/www |
| Case-insensitive filenames only | grep -ril “text” /etc |
6. Permissions & Ownership
| Action | Command |
| Set file permissions (644) | chmod 644 file.txt |
| Make executable (755) | chmod 755 script.sh |
| Recursive permissions | chmod -R 755 folder |
| Change owner | chown www-data:www-data file.txt |
| Recursive ownership | chown -R www-data:www-data /var/www |
| Take ownership | chown -R $USER:$USER folder |
7. System Monitoring & Info
| Task | Command |
| Kernel & system info | uname -a |
| Ubuntu version | lsb_release -a |
| Uptime & load | uptime |
| Memory usage | free -h |
| Process monitor | top or htop (install: sudo apt install htop) |
| Recent logs | journalctl -xe |
| Kernel messages | dmesg | tail |
8. Package Management (APT)
| Action | Command |
| Update package list | sudo apt update |
| Upgrade packages | sudo apt upgrade -y |
| Full upgrade (with deps) | sudo apt full-upgrade -y |
| Remove unused | sudo apt autoremove |
| Clean cache | sudo apt clean |
| Install tools | sudo apt install tree htop ncdu |
| Search package | apt search keyword |
| Show package info | apt show package |
9. Networking & Users
Networking
| Task | Command |
| Show IP addresses | ip a |
| Listening ports | ss -tulnp |
| Public IP | curl ifconfig.me |
| Test connectivity | ping -c 4 google.com |
| Firewall status | sudo ufw status |
| Allow SSH | sudo ufw allow 22/tcp |
Users
| Action | Command |
| Add user | sudo adduser username |
| Add to sudo group | sudo usermod -aG sudo username |
| Change password | sudo passwd username |
| Edit sudoers | sudo visudo |
10. Troubleshooting
| Issue | Command |
| Fix broken packages | sudo apt install -f |
| Check services | sudo systemctl status service |
| View full logs | journalctl -u service -f |
| Boot to recovery | GRUB → Advanced → Recovery Mode |
| Clear old logs | sudo journalctl –vacuum-time=30d |
| Reinstall package | sudo apt install –reinstall package |
11. One-Liners
# Full update + clean
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove && sudo apt clean
# Clean disk view (hide snaps)
df -h | grep -v snap
# 10 largest items in current dir
du -sh * | sort -hr | head -10
# Delete logs older than 30 days
find /var/log -type f -mtime +30 -delete
# Newest files in /var/log
ls -lht /var/log | head
# Quick web server (Python)
cd /var/www && python3 -m http.server 8000
12. Useful Tools to Install
sudo apt install htop tree ncdu curl wget vim git ufw unattended-upgrades
13. Ubuntu Resources
Official Docs: https://ubuntu.com/server/docs
Ask Ubuntu: https://askubuntu.com
Cloud/Server Guide: https://ubuntu.com/server
# Check for updates offline
apt list –upgradable

