mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-31 03:27:49 +08:00
- Fix clashing reference page titles ("Teleport CLI Reference" and
"teleport CLI reference").
- Add missing redirects: The Teleport blog encountered 404s navigating
to three pages. This change adds redirects for these pages in case
other sites link to them as well.
79 lines
2.5 KiB
Plaintext
79 lines
2.5 KiB
Plaintext
---
|
|
title: CLI References
|
|
description: Detailed guide and reference documentation for Teleport's command line interface (CLI) tools.
|
|
---
|
|
|
|
Teleport is made up of four CLI tools.
|
|
|
|
- [teleport](./cli/teleport.mdx): Supports the Teleport Access Platform by starting and configuring various Teleport services.
|
|
- [tsh](./cli/tsh.mdx): Allows end users to authenticate to Teleport and access resources in a cluster.
|
|
- [tctl](./cli/tctl.mdx): Used to configure the Teleport Auth Service.
|
|
- [tbot](./cli/tbot.mdx): Supports Machine ID, which provides short lived credentials to service accounts (e.g, a CI/CD server).
|
|
|
|
(!docs/pages/includes/permission-warning.mdx!)
|
|
|
|
<Details title="Improve the CLI experience: enable shell completion">
|
|
|
|
Teleport's CLI tools can provide completion hints for bash and zsh.
|
|
For example, typing `tsh` and pressing `Tab` will show all available
|
|
subcommands, typing `tsh --` and pressing `Tab` will show all available flags.
|
|
|
|
To enable completion, add an additional statement to your shell configuration file.
|
|
|
|
Example (`.bashrc`):
|
|
|
|
```sh
|
|
eval "$(tsh --completion-script-bash)"
|
|
```
|
|
|
|
Example (`.zshrc`):
|
|
|
|
```sh
|
|
# enable completion feature
|
|
autoload -Uz compinit
|
|
compinit
|
|
|
|
eval "$(tsh --completion-script-zsh)"
|
|
```
|
|
|
|
Reload your shell to see the changes.
|
|
|
|
You can repeat the same process for `tctl`, `teleport`, and `tbot`.
|
|
|
|
</Details>
|
|
|
|
(!docs/pages/includes/backup-warning.mdx!)
|
|
|
|
## Resource filtering
|
|
|
|
Both `tsh` and `tctl` allow you to filter servers, applications, databases,
|
|
desktops, and Kubernetes clusters using the `--search` and `--query` flags.
|
|
|
|
The `--search` flag performs a simple fuzzy search on resource fields. For example, `--search=mac` searches for resources containing `mac`.
|
|
|
|
The `--query` flag allows you to perform more sophisticated searches using a [predicate language](predicate-language.mdx#resource-filtering).
|
|
|
|
In both cases, you can further refine the results by appending a list of comma-separated labels to the command. For example:
|
|
|
|
```code
|
|
$ tsh ls --search=foo,bar labelKey1=labelValue1,labelKey2=labelValue2
|
|
```
|
|
|
|
### Filter Examples
|
|
|
|
```code
|
|
# List all nodes
|
|
$ tsh ls
|
|
|
|
# List nodes using label argument
|
|
$ tsh ls env=staging,os=mac
|
|
|
|
# List nodes using search keywords
|
|
$ tsh ls --search=staging,mac
|
|
|
|
# List nodes using predicate language. This query searches for nodes with labels
|
|
# with key `env` equal to `staging` and key `os` equal to `mac`.
|
|
$ tsh ls --query='labels["env"] == "staging" && equals(labels["os"], "mac")'
|
|
```
|
|
|