DevOps Zone is brought to you in partnership with:

Nikhil primarily works as a Ruby application developer with ThoughtWorks. He enjoys writing fast web-apps as much as he likes writing Chef cookbooks. He also digs everything that is GNU/Linux/Emacs. Professionally, he's worked on several offshore development projects and knows the challenges of working with distributed agile teams and enterprise data centers. He blogs at and tweets using @hyfather. Nikhil has posted 4 posts at DZone. You can read more from them at their website. View Full User Profile

Time Saving Bash Tricks

  • submit to reddit

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.)


View more presentations from hyfather 
`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.'
Yank the last argument to the previous command.
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.
Yank most recent item from the kill-ring.
Immediately follows a `C-y`. Cycle through the kill-ring.
Substitute the previous command (e.g. `sudo !!`)


SSH multiplexing



Host *

ControlMaster auto

ControlPath /tmp/%r0%h:%p



Ensuring Bash Hisory across multiple sessions


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. 


Published at DZone with permission of its author, Nikhil Mungel.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)