Screencast Shell Productivity - Part 2 Electives

  • Jay McGavren
Badge student

Locked Content

A subscription is required for viewing this video. Enroll now to get full access to all Code School courses and content.

Enroll Now Sign in


  1. Faculty

    Bijan Boustani said

    echo "Another great screencast. Thanks Shooter McGavren."

    The history stuff was particularly useful. I had no idea about that reverse incremental search.

  2. Student #211 said

    history tips were the best, i learned a lot, thanks!

  3. Faculty

    Olivier Lacan said

    Yeah, you better not stop that series anytime soon.

  4. Daniel Villarreal said


  5. Justin T Hofmeister said

    The reverse incremental search is amazing, I can't believe I've been getting by without using it; I shudder to think about all the time that could have saved in the past.

    Great screencast!

  6. Bharat Ruparel said

    Jay, You should continue this series. Excellent posts. I am looking for more stuff on JRuby as well. Keep up the good work. Thanks. Bharat

  7. Simon Courtois said

    You can also use the following in your .inputrc. Then only commands starting like your current one will cycle with up and down arrows.

    "\e[A": history-search-backward "\e[B": history-search-forward

  8. Faculty

    Jay McGavren said

    Thanks for the feedback (and additional tips), everyone! I have episodes on a couple other topics I'll be doing first, but I'll definitely start accumulating material for another episode in this series.

  9. Thomas Limp said

    very nice screencast. one thing though, ~/.profile won't get loaded automatically if a ~/.bash_profile is present (see man bash). so you have to source ~/.profile yourself in the ~/.bash_profile if you want to make some shell independent settings in there.

  10. saurabh said

    Thanks - this was a really good screencast. I wanted to get the command typed in one of the running sessions in another session - this can be done by doing "history -r" which causes shell to re-read the history file. More detailed on such uses at:

  11. Daniel Puglisi said

    dotfiles <3 check out mine -->

  12. 42 Dev Team said

    I've been working a lot lately on my terminal skills (especially auto-completes and productivity improvements). The second part of this series was way more useful (to me) than the first so I'm glad I watched it.

  13. u+i interact said

    Could you post a gist of the used commands somewhere? Same applies to your first Shell Episode. I'm watching these videos on an Ipad and it is a little cumbersome to find the scenes later on just to have a look at the commands again. Nonetheless, great information.

  14. Faculty

    Jay McGavren said

    @uandi Here's a gist with the outlines I used for both courses: Hope it helps!

  15. Brandon Pittman said

    Love the shell screencasts, but I'm sad to see they're all from a year ago.

  16. exceed said

    very basic, not very usefull for even an intermediate user

  17. kimble9t said

    Amazing, I've been using bash for years and didn't know the !! trick. Thanks Jay

  18. espiekarski said

    I made some quick improvements to old_diff and new_diff that allow them to take a filename as an argument instead of only reading from STDIN. If an argument is provided, it is presumed to be a file and is used, otherwise it assumed the actual content to use is on STDIN. I kept forgetting to cat the contents I needed to old_diff and new_diff, so this came in handy almost immediately.



    if [ -n "$1" ]; then diff -b ${HOME}/.old_diff "$1" else diff -b ${HOME}/.old_diff - fi

    #!/bin/sh #old_diff cat "$1" > ${HOME}/.old_diff

  19. espiekarski said

    Well that comment got destroyed...

    Having the ability to either edit or preview a comment before posting would have been helpful there.

About This Screencast

In this follow-up to the first Shell Productivity episode, Jay McGavren gives you more sensible and useful shell tricks. The history portions are Bash-centric but users of any shell will enjoy the tips on diff, xargs, and managing your dotfiles via GitHub.

You need to be an enrolled student in order to view this video and subscribe.

Enroll Now