How to use KVM from the command line on Debian or Ubuntu

There are different ways to manage virtual machines (VMs) running on KVM hypervisor. For example, virt-manager is a popular GUI-based front-end for VM management. However, if you would like to use KVM on a headless server, GUI-based solutions will not be ideal. That is when virsh comes in handy. virsh is a command-line tool for managing guest VMs. Underneath it, virsh relies on libvirtd service which can control several different hypervisors including KVM, Xen, QEMU, LXC and OpenVZ. In this tutorial, I will demonstrate how to run KVM from the command line by using virsh on Debian or Ubuntu.