There is the man pages if you know a program, but don't know how to use it.

But what if you don't know what programs to even use in the first place?

Maybe having these commands might be useful:

"How <query>" e.g. "How do I change a directory" (ans: "use the cd command. Type 'man cd' for more info")

"What <query>" e.g. "What is ls?" (That's the man page right?)

"Where <query>" (tho... doesn't "search" do that already?)

-----

Looks inside it's own database, else prompts if you want to check online in various FAQ database... or first entry in stackoverflow (or maybe you can add a switch?)

-----

Alternative program name:

Could use "FAQ" instead of "HOW". e.g.

FAQ how do i change directory?

------

Some possible structure:

How do I <verb> <noun> ? (e.g. How do I change directory?)

How do I <verb> <noun> to a <noun> ? (e.g. How do I convert png to gif ?)

How for <noun> do I <verb> <noun> ? (e.g. How for windows shell do I change directory ? )