Before you touch a single VM or config file, you need to understand what the shell is telling you, how every Linux command is built, and where the system keeps its configuration. This guide covers it all.
Proxmox Virtual Environment (PVE) is a free, open-source, enterprise-grade server virtualization platform built on Debian Linux. It combines two powerful virtualization technologies into one browser-managed solution:
You manage everything from a clean web interface at https://YOUR-IP:8006. The current version (9.x) runs on Debian 13 (Trixie) with Linux kernel 6.17+, is free under AGPLv3, and is a popular cost-effective alternative to VMware vSphere.
When you open a terminal or SSH into a Proxmox server, the shell prompt gives you two critical pieces of information at a glance: who you are and where you are in the filesystem.
user@pve:~$
The dollar sign means you are logged in as a regular user with limited privileges. Most Proxmox management commands will fail or require sudo from this prompt.
user@pve:~$ ls /etc # Works fine user@pve:~$ apt update # Permission denied user@pve:~$ sudo apt update # Works with sudo
root@pve:~#
The hash sign means you are root — full, unrestricted system access. No sudo needed. This is the default on a fresh Proxmox install and what every official guide assumes.
root@pve:~# apt update && apt full-upgrade -y root@pve:~# qm start 100 root@pve:~# zpool status
The tilde in your prompt shows you are in your home directory. It is also a shortcut in any command. As root, ~ = /root. As a regular user, ~ = /home/username.
cd ~ # Jump to home from anywhere cd ~/backups # Navigate to a subfolder of home ls ~ # List home directory contents nano ~/.bashrc # Edit your Bash configuration
| Symbol | Meaning | Privilege | Home Path |
|---|---|---|---|
| $ | Regular user prompt | Limited — needs sudo | /home/username |
| # | Root user prompt | Full administrator | /root |
| ~ | Home directory shortcut | — | Depends on current user |
Every Linux command follows the same universal three-part pattern. Learn this once and any new tool becomes easier to understand.
command [options] [arguments]
The command is the program to run. Options modify its behaviour — short with one dash (-y), long with two (--yes). Arguments are the specific targets it acts on — a VM ID, file path, hostname, etc.
# command: ls | option: -1 | argument: /etc root@pve:~# ls -1 /etc # command: qm | sub-command: start | argument: 101 root@pve:~# qm start 101 # command: apt | sub-command: upgrade | option: -y root@pve:~# apt upgrade -y
root@pve:~# qm create 101 \ --name "UbuntuServer" \ --memory 4096 \ --cores 2 \ --net0 virtio,bridge=vmbr0 \ --scsi0 local-lvm:32
qm shutdown 101 --timeout 60 # Shutdown VM with timeout pct create 201 local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst \ --hostname debian-ct --memory 1024 # Create container pvesm list local-zfs # List storage contents pvecm status # Check cluster status
--memory not -m) in scripts — they are self-documenting. Quote values with spaces: --name "My VM". Press Tab for auto-completion. Run man qm or qm --help when stuck.
/etc is the central home for system-wide configuration files in any Linux system. Every major service — networking, SSH, DNS, package management, user accounts — stores its settings here. In Proxmox, it also holds all VM, container, and cluster definitions.
root@pve:~# cd /etc root@pve:/etc#
Notice the prompt updates from ~ to /etc once inside. Useful navigation commands:
cd /etc # Go to /etc from anywhere pwd # Confirm your location cd - # Go back to the previous directory cd ~ # Return to home (/root as root)
root@pve:~# ls -1 /etc
The -1 flag (the number one, not the letter L) prints one entry per line — clean and easy to pipe into grep.
ls -1 /etc # One per line ls -la /etc # Detailed: permissions, sizes, dates ls /etc | grep ssh # Find SSH-related configs ls -1 /etc/pve/ # Explore the Proxmox config folder
| Path | Purpose |
|---|---|
| /etc/hostname | The server’s hostname |
| /etc/hosts | Static hostname-to-IP mappings |
| /etc/resolv.conf | DNS resolver settings |
| /etc/fstab | Filesystem mount table |
| /etc/ssh/sshd_config | SSH server configuration |
| /etc/network/interfaces | Network config — bridges, bonds, VLANs |
| /etc/apt/sources.list.d/ | APT repository definitions |
| /etc/pve/ | Proxmox cluster filesystem — all VM/CT configs, storage, user data |
| /etc/pve/storage.cfg | Storage pool definitions |
| /etc/pve/datacenter.cfg | Global Proxmox settings |
cat /etc/pve/storage.cfg # View storage definitions cat /etc/network/interfaces # View network config cat /etc/os-release # View OS and kernel version ls /etc/apt/sources.list.d/ # Check APT repositories
cp /etc/network/interfaces /etc/network/interfaces.bak
# prompt means root access. The ~ shortcut means home directory. Every command follows command [options] [arguments]. And /etc is where Linux keeps all its configuration. Master these four things and no Proxmox guide or man page will feel foreign.