可以使用以下命令一次性删除所有 QEMU 虚拟机:
串行
qm list | awk 'NR>1 {print $1}' | xargs -I {} qm destroy {}解释:
qm list命令获取所有虚拟机的列表。awk 'NR>1 {print $1}'命令跳过第一行(表头)并提取 VMID 列。xargs -I {} qm destroy {}命令将每个 VMID 作为参数传递给qm destroy命令,从而删除每个虚拟机。
注意:此命令会删除所有虚拟机,请确保在执行前已进行适当备份和确认。
并行
您可以使用以下命令并行地删除所有 QEMU 虚拟机:
qm list | awk 'NR>1 {print $1}' | xargs -P 0 -I {} sh -c 'qm destroy {} || true'解释:
qm list命令获取所有虚拟机的列表。awk 'NR>1 {print $1}'命令跳过第一行(表头)并提取 VMID 列。xargs -P 0 -I {} sh -c 'qm destroy {} || true'命令将每个 VMID 作为参数传递给qm destroy命令,从而删除每个虚拟机。-P 0选项告诉xargs并行运行尽可能多的进程。如果qm destroy命令失败,|| true确保退出状态为0,因此其他删除操作仍然会继续。
注意:此命令会删除所有虚拟机,请确保在执行前已进行适当备份和确认。