Local Help
Programming is complicated, and we all occasionally need help to learn how something works or how to go about a task. If you're trying to figure out how to use a tool or command, your first stop may be a Google search followed by Stack Overflow. But I don't think that should necessarily be the first stop. There is a wealth of help available right on your local machine, right from your terminal.
If you're trying to use a terminal command or tool, you have a couple of
options. You can try typing --help
after the command for a summary of the
command's functionality. Or you can type man <command>
to bring up the man
page for that command. A man page is a manual page that details all of a
command's functionality. In fact, many Stack Overflow answers draw their
information from man pages.
Many large tools also have their own internal help systems. vim has the builtin
:help
command that presents help on any argument given. git provides a help
command as well, which will bring you to the appropriate place in the rather
large set of git man pages for the argument your provide. A final example is
gdb, which also supplies a handy help
command to learn about all of the gdb
commands.
I'm a big fan of discovering and learning about new tools. For anyone else who also enjoys doing so, I recommend something like zsh-syntax-highlighting. This provides a functionality similar to fish by highlighting real commands in green and non-commands in red as you type them. It's super useful both for knowing when you've got a command right and for stumbling across commands that you didn't know existed.
When you're next in doubt about some functionality, instead of jumping right to the Internet, try using your local resources first. You might even learn some additional details about the tool that you'll find useful later.