S3 Terminal UI 🪣
About
STU, S3 Terminal UI, is a interactive terminal-based explorer for Amazon S3 (AWS S3).
With STU, you can browse buckets and objects directly from your terminal, preview files, and download them with ease.
STU provides the following features:
- Recursive object downloads
- Previews with syntax highlighting for text files and inline rendering for images
- Access to previous object versions
- Customizable key bindings
- Support for S3-compatible storage
Check out the Features section for more details!
Documentation
For detailed usage, configuration, and advanced features, see the full documentation.
Installation
If you're using Cargo:
$ cargo install --locked stu
For other download options, see Installation.
Usage
After installation, run the following command:
Basically, you can use it in the same way as the AWS CLI.
In other words, if the default profile settings exist or the environment variables are set, you do not need to specify any options.
Options
STU - S3 Terminal UI
Usage: stu [OPTIONS]
Options:
-r, --region <REGION> AWS region
-e, --endpoint-url <URL> AWS endpoint url
-p, --profile <NAME> AWS profile name
-b, --bucket <NAME> Target bucket name
-P, --prefix <PREFIX> Prefix for object keys
--path-style <TYPE> Path style type for object paths [default: auto] [possible values: auto, always, never]
--no-sign-request Disable request signing
--debug Enable debug logs
-h, --help Print help
-V, --version Print version
For details on each option, see Command Line Options.
Keybindings
The basic key bindings are as follows:
| Key | Description |
|---|---|
| Ctrl-C | Quit app |
| Enter | Confirm / Open selected item |
| Backspace | Go back to previous |
| j/k | Select item / Scroll |
| ? | Show help |
Detailed operations on each view can be displayed by pressing ? key.
You can customize your own keybindings. See Custom Keybindings for more information.
Config
Config is loaded from $STU_ROOT_DIR/config.toml.
- If
STU_ROOT_DIRenvironment variable is not set,~/.stuis used by default.- If the
STU_ROOT_DIRdirectory does not exist, it will be created automatically.
- If the
- If the config file does not exist, the default values will be used for all items.
- If the config file exists but some items are not set, the default values will be used for those unset items.
For detailed information about the config file format, see Config File Format.
Screenshots
Bucket list
Object list
Object detail
Object preview
Contributing
To get started with contributing, please review CONTRIBUTING.md.
Contributions that do not follow these guidelines may not be accepted.
Related projects
- DDV - Terminal DynamoDB Viewer ⚡️
License
MIT




















