6 ms·
Some powerful commands for Linux
- junkbit 16y ago'cd -' go back to previous directory. Genius! How did I not know this?
- 2mur 16y ago'cd !$' is another recent discovery for me, as in: mv somefile -t /somedir cd !$ # now you are in /somedir
- kjetil 16y agoA more general way to do this is with M-. (Esc-.). This fetches the last argument from the previously entered command. Very handy when you need to apply multiple commands to a file or directory. Repeat this key combo to fetch the last argument from further back in your command history. I use this all the time (almost as much as tab completion).
- nwomack 16y agoeven better (if you are using bash, not sure about other shells) and use shopt -s histverify then if you type !$<enter> will replace !$ with /somedir but not hit return, so you could then modify it. Then you could do... mv somefile -t /somedir vim !$<enter>/somefile
- steve___ 16y agoTry adding this to your .inputrc file $if Bash Space: magic-space $endif Now the history expansion will be done when 'space' is pressed.
- RyanMcGreal 16y agoIt's really handy if you need to jump back and forth between two directories with diverse paths.
- chronomex 16y agoFor that I usually use pushd. [chronomex@gir ~]$ mkdir test1 test2 [chronomex@gir ~]$ cd test2 [chronomex@gir ~/test2]$ pwd /home/chronomex/test2 [chronomex@gir ~/test2]$ pushd ../test1 ~/test1 ~/test2 [chronomex@gir ~/test1]$ pwd /home/chronomex/test1 [chronomex@gir ~/test1]$ pushd ~/test2 ~/test1 [chronomex@gir ~/test2]$ pwd /home/chronomex/test2 [chronomex@gir ~/test2]$
- billswift 16y agoOn older systems you had to do a fairly complicated set up for pushd/popd yourself. I did once in along 1998 or so, but never bothered again, since the great majority of the time "cd -" was good enough.
- xhuang 16y agothe command go with pushd is popd,which pop the last path you pushed into the queue.
- adambyrtek 16y agoYou should consider investing some time to go through a good shell tutorial, maybe even read a book on shells. You will find many more pearls like 'cd -', which is really one of the most basic and well known ones.
- telemachos 16y agoIf you don't know it, I highly recommend learning about CDPATH as well. A good CDPATH means that directories you work in often are always easy to get to. (Add TAB completion in its latest version and they're even easier to get to.) http://www.caliban.org/bash/ http://www.caliban.org/bash/ (Under bash Tips and Tricks) One other good cd trick: # Shamelessly stolen from Learning the Bash Shell (3ed), Cameron Newham # & Bill Rosenblatt my_cd() { case "$#" in 0|1) builtin cd $1 ;; 2) newdir=${PWD//$1/$2} case "$newdir" in $PWD) echo "bash: my_cd: bad substitution" >&2 return 1 ;; *) builtin cd "$newdir" ;; esac ;; *) echo "bash: my_cd: wrong arg count" 1>&2 return 1 ;; esac } The function allows you to do simple search/replace on your current working directory and cd to the replaced version, all in one step. This is a built-in ksh feature, but easy enough to enable in bash. If you have directories with relatively deep nesting and very similar names (e.g. school/2009-2010/compsci1/grades versus school/2010-2011/compsci2/grades), it's a godsend. An example: $ pwd /Users/telemachus/mmt/2010-2011/compsci2 $ my_cd compsci2 compsci4 $ pwd /Users/telemachus/mmt/2010-2011/compsci4
- jcsalterego 16y agoExcellent resources on Twitter: - http://twitter.com/bashtips http://twitter.com/bashtips - http://twitter.com/climagic http://twitter.com/climagic - http://twitter.com/zshtips http://twitter.com/zshtips And an oldie but a goodie: - http://cb.vu/unixtoolbox.xhtml http://cb.vu/unixtoolbox.xhtml
- sathyabhat 16y agoNo mention of CommandLineFU ? - http://www.commandlinefu.com/commands/browse/sort-by-votes http://www.commandlinefu.com/commands/browse/sort-by-votes - http://twitter.com/commandlinefu http://twitter.com/commandlinefu - http://twitter.com/commandlinefu3 http://twitter.com/commandlinefu3 ( 3+ votes) - http://twitter.com/commandlinefu10 http://twitter.com/commandlinefu10 (10+ votes)
- SkyMarshal 16y agoGreat site. A few other pages on it worth checking out: http://www.pixelbeat.org/docs/power_of_the_default.html http://www.pixelbeat.org/docs/power_of_the_default.html http://www.pixelbeat.org/docs/web/access_log/monitoring.html http://www.pixelbeat.org/docs/web/access_log/monitoring.html http://www.pixelbeat.org/fslint/ http://www.pixelbeat.org/fslint/
- gbog 16y agoThe source code of fslint commands is really impressive, it is just a very long and clever pipe.
- adambyrtek 16y agoI didn't check the project, but in general I wouldn't say that code consisting of one long and clever pipe is such a good idea.
- drakep 16y ago:(){ :|: & };:
- vijaydev 16y agoDo not use this without knowing what it does. http://www.commandlinefu.com/commands/view/1207/classic-bash-fork-bomb.-do-not-use http://www.commandlinefu.com/commands/view/1207/classic-bash...
- Groxx 16y agoWow, that's nuts. Explanation from a user on the site: >the ':()' shows that we're making a new function named ':'. Everything inside the '{}' is the function body, it makes two recursive calls to the ':' function and puts them into the background with the '&' so that execution continues instead of waiting for them to exit. Then it ends that command with the ';' and executes the function ':'. That makes 2 calls to ':' which each make 2 calls, and so on until ulimit or your hardware capabilities stop it. Comment by stuart 91 weeks and 2 days ago
- 16s 16y agoHacker News is really not the place it used to be.
- Groxx 16y agoNot sure if this is referring to the almost-troll, or the downvoting of said almost-troll. Without an explanation it's humor for people who know, malicious to those who don't, and at best undermines the trustworthiness of the average comment on this site, which is abnormally high for the internet.
- 16s 16y agoFork bombs are childish pranks. That's all I meant. People didn't used to post such things here.
- kwantam 16y ago
- kaizoku_ 16y agoFar more useful than a list of things to copy-paste into a terminal that might be useful in very specific situations would be reading a good explanation of how to use the shell. What the subshells, piping, and some of the basic commands used here are.