6 ms·
Top Ten One-Liners from CommandLineFu Explained
- colonhyphenp 17y agoLast year a friend taught me about the bash trick "CTRL-R" <start typing 'ssh' or some other previously run command> on the command line for reverse history searching, and it is an amazing time saver. It acts as a great alternative to #8, "Find the last command that begins with “whatever,” but avoid running it" $ !whatever:p
- oyving 17y agoAn important addition to that is to repeatedly hit ctrl-r to cycle through the matching commands in the history.
- erlanger 17y agoHow do you reverse the search? <S-C-R> didn't do it for me. Either way this could be a good substitute for what I do now, tediously grepping .zsh/bash_history...
- mziulu 17y agoIf by reverse you mean going forward instead of backwards, that should be done with Ctrl-S; it does not work in Bash though, since Ctrl-S locks the scrolling of the terminal. I believe this behavior can be overridden, through some .xinputrc settings perhaps, but I haven't still found enough motivation to look it up! edit: ok, I've found this: http://wiki.archlinux.org/index.php/Bash#History_search http://wiki.archlinux.org/index.php/Bash#History_search
- 10ren 17y agoI use up-arrow for that. My .inputrc has: "\e[A": history-search-backward If you don't type anything, it acts exactly as the old up-arrow.
- imurray 17y agoOr in ~/.zshrc: bindkey '\e[A' history-beginning-search-backward
- araneae 17y agoI'm pretty I learned this from reading an article on HN... anyone got a citation for me?
- pkrumins 17y agoPerhaps my article "The Definitive Guide to Bash History?" http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/ http://www.catonmat.net/blog/the-definitive-guide-to-bash-co...
- aw3c2 17y agoOn #10. Capture video of a linux desktop you suggest removing -r and using -b 250kbit/s. Did you try that? ;) Is there a way to use a better codec?
- pkrumins 17y agoDidn't try it. It actually turns out you need -r. Seems like an exception. I updated the article to reflect that. :) The output codec? Use `-vcodec <format>`, where <format> is a video coded output by `ffmpeg -formats`. Update: The whole comment about kbit/s was actually unnecessary, so I edited the article and replaced it with a better comment.
- aw3c2 17y agoI should have mentioned the message in my comment, sorry about the wittyness. Thanks for updating!
- duck 17y ago#3. Save a file you edited in vim without the needed permissions :w !sudo tee % I've used vim for a long time, but didn't know about this one.
- erlanger 17y agoOf course it assumes sudo's present.
- pvg 17y agoCouple of little nits - 5. and 8. are not bash specific and neither are event designators, these work fine in tcsh and zsh. I think caret substitution might have actually come from the *csh world. Not that big of a deal since bash is so prevalent these days but hey, a pedantipoint is a pedantipoint.
- pkrumins 17y agoGood points, I like being corrected where appropriate.
- eplanit 17y agoVery helpful, thanks. To my tech. note list it goes!
- 10ren 17y agoI'm always finding new places to use brace expansion. Recently I've starting doing diff longpath_andor_longfilename{a,b}*
- bho 17y agoneat. thanks for the explanations!
- sketerpot 17y agoWhen I need to do number one -- add sudo to the previous command -- I just use the up arrow, Ctrl-a to get to the beginning of the line, and add sudo. It's a little slower than the method in the article, but I find it downright dangerous to have something in your command history that means "do whatever was typed previously as root".
- chronomex 17y agoIt actually won't be in your command history as that. The entry will go into your command history as "sudo previous-line".Try it yourself: $ true $ echo !! echo true true [up-arrow to see] $ echo true
- deleted 17y ago[deleted]
- sown 17y agoMy favorite is the modifier for histories. $ ls a b c a b c $ ls !$ ls c c $ ls a b c a b c $ ls !:3 !:2 !:1 !:0 ls c b a ls ls: ls: No such file or directory a b c $