views:

55

answers:

4

For my developer work I reside in the *nix shell environment pretty much all day, but still can't seem to memorize the name and argument specifics of programs I don't use daily. I wonder how other 'casual amnesiacs' handle this. Do you maintain an big cheat sheet? Do you rehearse the emacs shortcuts when you take your weekly shower? Or is your desk covered under sticky notes?

+3  A: 

Eventually you just remember them, well the set that you use anyway. I used to maintain a README in my home directory when I was starting out but that disappeared many years ago.

One useful command is man -k which you pass a word to and it will return a list of all commands whose man page summary contains that word.

Steve Weet
+5  A: 

If I don't use a command regularly enough to remember what I want, I tend to just use --help or the man pages when I need to.

Or, if I'm lucky, I use CTRL+R and let bash's history search find when I last used it.

developmentalinsanity
+5  A: 

Using bash_completion is one way of not having to remember the precise syntax of program arguments.

> svn [tab][tab]
--help     checkout   delete     lock       pdel       propget    revert
--version  ci         diff       log        pedit      proplist   rm
-h         cleanup    export     ls         pget       propset    status
add        co         help       merge      plist      pset       switch
annotate   commit     import     mkdir      praise     remove     unlock
blame      copy       info       move       propdel    rename     update
cat        cp         list       mv         propedit   resolved   
the_mandrill
+2  A: 

'apropos' is also a very useful command. It will list all commands whose man pages contain the keyword.

Ozair Kafray