Time Saving Bash Tricks
This is a followup from the lightning talk '5 Time Saving Bash Tricks' at DevOpsDays, Bangalore 2011.
These work with the emacs-readline, which is the default configuration in most ditributions (including OS X).
- C means Control
- M means Meta (usually mapped to Alt/Option or Escape on QWERTY keyboards.)
`M` stands for the Meta key. Commonly represented by the Alt/Option/Esc key on your keyboard.
`C` stands for the Control key.
Example -- `C-k` means 'hit `k` while keeping `Control` pressed.'
`M-.`
Yank the last argument to the previous command.
`M-C-y`
Yank the first argument to the previous command.
`C-k, C-w, M-d, C-u`
All these kill text in different ways and save it in the kill-ring.
`C-y`
Yank most recent item from the kill-ring.
`M-y`
Immediately follows a `C-y`. Cycle through the kill-ring.
`!!`
Substitute the previous command (e.g. `sudo !!`)
SSH multiplexing
~/.ssh/config
Host *
ControlMaster auto
ControlPath /tmp/%r0%h:%p
Ensuring Bash Hisory across multiple sessions
~/.bashrc
shopt -s histappend
Remember to use pushd and popd when in deeply nested directories.
Background tail processes to share STDOUT and STDERR with any REPL (including the shell itself.)
tail -f httpd.log &
Then start the REPL, or continue working on the shell.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)




