Commands
OrbStack can be used entirely from the command line, making the GUI app optional. You can use and manage Linux machines, run commands, and transfer files without leaving the terminal.
To get started:
orb helporb
orb is a short all-in-one command that serves several purposes.
Start a shell
Run orb with no arguments to start a shell in the default Linux machine:
orbYou can also specify a machine and user:
orb -m my-machine -u my-userRun orbctl shell --help for more options.
Run a command
Prefix a command with orb to run it in Linux:
orb uname -aTo specify a machine and user:
orb -m my-machine -u my-user uname -aRun orbctl run --help for more options.
Manage machines
Run orb with a subcommand to manage machines. For example, to create a new Ubuntu machine:
orb create ubuntu my-machineMany other subcommands are available:
completion Generate completion script
config Change OrbStack settings
create Create a new machine
debug Debug a Docker container with extra commands
default Get or set the default machine
delete Delete a machine
docker Show commands for using Docker
help Help about any command
info Get info about a machine
k8s Show commands for using Kubernetes
list List machines
login Log in and activate your OrbStack license
logout Log out of your OrbStack account
logs Show logs for a machine
migrate Migrate data from Docker Desktop to OrbStack
pull Copy files from Linux
push Copy files to Linux
rename Rename a machine
report Gather info for a bug report
reset Delete all Linux and Docker data
restart Restart a machine
run Run command on Linux
ssh Show SSH details
start Start OrbStack or a machine
status Check whether OrbStack is running
stop Stop OrbStack or a machine
update Update OrbStack
version Show OrbStack versionRun orb <command> --help for more information about each command.
orbctl
You can also use orbctl to manage machines explicitly. Unlike the shorter orb command, you must use orbctl shell or orbctl run to start a shell or run a command.
File transfer
You can use orb pull and orb push to copy files to and from Linux machines. For example, to copy a file from Linux to Mac:
orb pull ~/foo.txtTo copy a file from Mac to Linux:
orb push ~/bar.txtYou can also specify a machine and destination:
orb push -m my-machine ~/bar.txt /home/my-user/code/mac
Prefix a command with mac to run it on macOS:
mac uname -aThere are also several subcommands for integration:
completion Generate the autocompletion script for the specified shell
help Help about any command
link Link a command to macOS
notify Send a macOS notification
pull Copy files from macOS
push Copy files to macOS
run Run command on macOS
unlink Unlink a macOS commandLinking commands
You can use mac link to link a macOS command to Linux. Linked commands do not need to be prefixed with mac to run and can be used as if they were native to Linux.
For example, to link the pbcopy command:
mac link pbcopyopen, osascript, and code are linked by default.
macctl
Similar to orbctl, you can use macctl to run macOS integration subcommands explicitly.
