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 help
orb help
orb
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:
orb
orb
You can also specify a machine and user:
orb -m my-machine -u my-user
orb -m my-machine -u my-user
Run orbctl shell --help
for more options.
Run a command
Prefix a command with orb
to run it in Linux:
orb uname -a
orb uname -a
To specify a machine and user:
orb -m my-machine -u my-user uname -a
orb -m my-machine -u my-user uname -a
Run 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-machine
orb create ubuntu my-machine
Many 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 version
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 version
Run 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.txt
orb pull ~/foo.txt
To copy a file from Mac to Linux:
orb push ~/bar.txt
orb push ~/bar.txt
You can also specify a machine and destination:
orb push -m my-machine ~/bar.txt /home/my-user/code/
orb push -m my-machine ~/bar.txt /home/my-user/code/
mac
Prefix a command with mac
to run it on macOS:
mac uname -a
mac uname -a
There 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 command
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 command
Linking 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 pbcopy
mac link pbcopy
open
, osascript
, and code
are linked by default.
macctl
Similar to orbctl
, you can use macctl
to run macOS integration subcommands explicitly.