Maybe I’m missing what you are saying, but these aren’t really tools provided by dreamhost, they are linux/unix shell commands. They are fairly easy to use once you get the hang of it, and most everyday commands aren’t too dangerous to use. There are a few common exceptions to that, like the ‘rm -rf’ example I gave above but even that command is only dangerous to you and your files–it won’t delete other users directories/files or system directories/files, but in general the basics are easy, straight forward, and not dangerous.
It’s true that Linux comes in various different flavors and distributions, and there are even choices when it comes to command shells, but for command shells (also called a command interpreter) the most commonly used is bash and that is the default at dreamhost when you create your shell access. Although they can differ slightly through the various linux flavors, they are all pretty much the same here at dreamhost or anywhere else you might use a bash shell --AND-- most of the commands and special characters (especially the basics and the concepts) have been the same for 20+ years. It’s true that as things change and evolve a command might get more options, or there might be new commands, but the basics and the concepts haven’t changed in a long time.
The reason that commands such as ‘find’ run the way they do is because in many cases you want to do something else with the output. This is often referred to as “redirection” and “piping”.
An example of simple redirection would be to take the output of your command and send it to a file.
$ find . -type d -perm -o=w > myfindoutput.txt
that’s the same command as yesterday but we added “> myfindoutput.txt” to the end. That says, instead of putting the output in the terminal window on the screen, take that output and put it in a file called myfindoutput.txt the magic is done by the redirection character >
An example of a simple pipe would be
$ find . -type d -perm -o=w | more
here we added “| more” to then end, and what that says is take my output and pipe it (or send it) as the input to a different command, in this case “more”, what “more” does is pause the output at one screenful as it sends it to your terminal window. In the example in my post above the “find” command only had one line of output, that easily fits onto the screen. But what if it had 100 or 500 lines, then we would probably want to add “| more” to break that up so that it doesn’t scroll by too fast to read, after one screenful it would pause and say “–more–” at the bottom of the screen and wait until we hit the spacebar to get another screenful. There are some other keys you can hit too like “q” to quit (and throw away the rest of what we haven’t seen yet) or the enter key to advance one line at time, thru the rest of the output.
It may seem confusing and like alot to remember at first, but the concept to grasp is “simple commands” are the building blocks, that may be joined to other commands to form something more complex. You might also take a string of those commands an put them together into a file, and then it’s called a script. As you learn more about the building blocks it’s relatively easy to begin to string them together and that’s what creates the power of the shell.
The whole thing may seem relatively easy to me because I learned this way first. GUI’s like Windows came later. For the most part tho, once you get over the scare factor of “the shell”, it’s easy and fast to use. Your hands stay on the keyboard more there is less need to move and click the mouse. And in most cases anything that is dangerous will warn you first (unless you told it not to warn you like adding the f in the command “rm -rf”)
My advice would be, create a separate subdomain with a separate user to use for your learning and find a few tutorials and just start to experiment, maybe find some online tutorials (google “bash tutorial”). If you’re the book type instead of an online tutorial type just pick up a “for dummies” book at a book store or library and start going thru it. If you have created that learning environment by making a separate sub-domain and user, you really aren’t going to mess anything up. Then as you get the hang of it you can use what you have learned on your “live” environment.
When you have questions, you have lots of friends! At the command prompt try some of these things
$ man find
"man" means manual and “man find” means you want to read the manual page for the command “find”.
$ info find
is an alternate manual page, I prefer man pages to info pages personally but to each his own…
$ find --help
short command syntax help, less info that man or info would give you.
and so on and so forth… try man, info or -–help on any command.
search the dreamhost wiki, or Google is your friend too, try searches for “bash find” “bash chmod” “bash ls”
and lastly forums like this one, where people are always willing to help out.
It’s not hard to pick up and use, and it’s not going to change and be all_differnt with the next release.