linux:general_bash-ery

General Bash-ery

  • Ctrl + a, move to the beginning of the line
  • Ctrl + e, move to the end of the line
  • Ctrl + b, move back one character
  • Ctrl + f, move forward one character
  • Ctrl + k, Cut the Line after the cursor to the clipboard.
  • Ctrl + u, Cut the Line before the cursor to the clipboard.
  • Ctrl + a then Ctrl + k to jump to the beginning and delete the line
  • Ctrl + y, paste last value in clipboard
  • Meta + y, cycle through previous values in clipboard
  • Ctrl + d, delete character after cursor
  • Ctrl + h, delete character before the cursor (backspace)
  • Alt/Meta + b, Alt + f, move back and forward a word at a time
  • Ctrl + w, delete the word before the cursor
  • Alt + d, delete the word after the cursor
  • Alt/Meta + w, delete the word in front of the cursor
  • Ctrl + _ or Ctrl + Shift + _, undo last change

Use Ctrl + r to reverse search command history and Ctrl + s to forward search. Esc selects the current line and restores it to the active command line. Ctrl + g cancels the history search without recalling a line to the active command line.

Add the following to the bashrc to disable the flow control function of Ctrl + s

stty -ixon # enabled forward search with Ctrl+s by disabling XON/XOFF flow control
  • export EDITOR=/bin/vi to make vi the default editor
  • Ctrl+x+e to edit current command in default text editor.
    • Opens the current command line in the default editor. For vi you can exit with :cq to cancel the command.
    • fc, fixed command opens the last command in the editor

History

  • history -a, append the current session history to the history file
  • history -s <cmd line>, save the specified command line to history without executing it. Alternatively, prefix a line with the comment character (#) and it will be saved to history as a comment.
  • history -d <line number/range>, delete line or range of lines from history

Command Delimiter

Automatically run a command after every command ran in the shell that prints a line that includes the current time. It makes it easier to spot commands being ran when scrolling back in the terminal.

PROMPT_COMMAND='printf "\e[32m---------------------------$(date +%Y-%m-%dT%H:%M:%S%z)---------------------------\n\e[0m"'

Example output

---------------------------2023-04-07T21:12:28+0000---------------------------
  • linux/general_bash-ery.txt
  • Last modified: 2026/02/18 20:47
  • by mgupton