Command line
Ctrl + n : same as Down arrow.
Ctrl + p : same as Up arrow.
Ctrl + r : begins a backward search through command history.(keep pressing Ctrl + r to move backward)
Ctrl + s : to stop output to terminal.
Ctrl + q : to resume output to terminal after Ctrl + s.
Ctrl + a : move to the beginning of line.
Ctrl + e : move to the end of line.
Ctrl + d : if you've type something, Ctrl + d deletes the character under the cursor, else, it escapes the current shell.
Ctrl + k : delete all text from the cursor to the end of line.
Ctrl + x + backspace : delete all text from the beginning of line to the cursor.
Ctrl + t : transpose the character before the cursor with the one under the cursor, press Esc + t to transposes the two words before the cursor.
Ctrl + w : cut the word before the cursor; then Ctrl + y paste it
Ctrl + u : cut the line before the cursor; then Ctrl + y paste it
Ctrl + _ : undo typing.
Ctrl + l : equivalent to clear.
Ctrl + x + Ctrl + e : launch editor defined by $EDITOR to input your command. Useful for multi-line commands.
Terminal Emulators
Editors
- Helix
- [Vim](/computer science/command line/vim/vim.md)
ZSH
Shell productivity
Programs and tools provide many features that can speed things up but first one needs to learn them.
Tools
- Awesome command line tools
- Ask HN: What are your favorite terminal programs?
- What's an awesome Linux/Unix command that you wish someone had told you about earlier?
- Awesome Console Services
- icanhaz
- srgn - a code surgeon. Language-aware smart search and replace.
- skim - fuzzy finder written in rust with a preview.
- oha - Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.
Dotfiles
- chezmoi - Manage your dotfiles across multiple diverse machines, securely. #dot-files #golang
- rotz - Fully cross platform dotfile manager and dev environment bootstrapper written in Rust. #dot-files #rust
Resources
- CLI Guidelines - Guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. (Code) (HN) (Lobsters)
- docopt - Command-line interface description language
- Text processing in the shell
- Awesome Console Services
- cli.fan blog - Introduction.
- One Things Well blog - Weblog about simple, useful software.
- Terminals Are Sexy - Curated list of Terminal frameworks, plugins & resources for CLI lovers.
- Inconsolation - Adventures with lightweight and minimalist software for Linux.
- Arabesque - Systems, Tools, and Terminal Science.
- The Art of Command Line
- cheat - Allows you to create and view interactive cheatsheets on the command-line. (HN)
- hyperfine - Command-line benchmarking tool.
- An Illustrated Guide to Useful Command Line Tools (2019) (Lobsters) (HN)
- uutils coreutils - Cross-platform Rust rewrite of the GNU coreutils.
- The Language Agnostic, All-Purpose, Incredible, Makefile (2019) (Lobsters) (HN)
- CLI: improved (2018)
- Awesome CLI apps
- Grep for System Admins: Using Grep to Automate Daily Tasks (2020)
- Command line interfaces are reified UIs (2017) (HN) (Lobsters)
- My Favorite CLI Tools (2020) (HN)
- wttr.in - Console-oriented weather forecast service. (HN)
- Structured text tools - List of text-based file formats and command line tools for manipulating each.
- Conventions for Command Line Options (2020) (HN)
- Rewritten in Rust: Modern Alternatives of Command-Line Tools (2020) (Lobsters)
- What are your favorite non-standard CLI utils/applications (2020)
- cheat.sh - Unified access to the best community driven cheat sheets. Available via CLI. (Web)
- My growing list of Rust programs to use (Lobsters)
- dasel - Allows you to query and modify data structures using selector strings.
- You Don't Need GUI - CLI commands as alternatives to GU.
- nq - Utils for creating lightweight job queue systems. (HN)
- Building Rich Terminal Dashboards (2021) (HN)
- frawk - JITted and SIMD-optimized AWK written in Rust. (Lobsters)
- Linux Terminal Tools
- Pocco81 Dotfiles
- Bash-Oneliner
- chubin/awesome-console-services
- ifconfig.co - get IP address, geo location, and more. Can be easily called from command line.
- The only Linux command you need to know -
cheat
- UX patterns for CLI tools
- input validation
- interactive mode
- human understandable errors
- colors, emojis, and layout
- loading indicators
- What happens when you press a key in your terminal?
- Development Environments - how should we be developing in modern era?
- Nushell - Coming from Bash
- Linux Crisis Tools - linux tools for debugging and crisis diagnosis #linux
- Déjà vu: Ghostly CVEs in my terminal title #security