Read:
Hayne, Cameron. "Unix FAQ (for OS X)", Hayne of Tintagel.
It's fairly long, but it provides a great overview of what you're trying to learn. There is plenty of opportunity to practice while reading through the various sections.
As you read, keep the following reference chart handy:
"An A-Z Index of the Apple OS X command line". This basically tells you what all the commands do and shows you the syntax required to use them.
Next, try the following questions, compiled by Bill Turkel to keep me occupied while he did more important work:
- Open a terminal.
- What directory are you in?
- What files are in the directory?
- Can you list the files in the directory in different ways?
- How do you go to a different directory?
- What files are in that directory?
- How do you see only a few of the files at a time? Say ones that begin with the letter 'a'?
- How do you see only the .html files?
- How do you copy a file?
- How do you move a file to a new filename? Is that the same as renaming it?
- How do you make a new directory?
- How do you get rid of a directory?
- How do you list the contents of a .txt or .html file to the screen?
- How do you break a text file into screen-sized chunks if it is too big to display on the screen?
- How do you show the first part of a text file to the screen?
- How do you show the last part of a text file to the screen?
- How do you find a file in a different directory if you know (part of) its name?
You should be able to use the reference list posted above to solve all these problems. If you're totally stuck, leave a note in the comments.
Then you can move on to some more Turkel questions. Characters in quotes are commands to type into your Unix terminal. Don't include the quotation marks:
- What do the "uname", "hostname" and "set" commands do? (minus quotes)
- Try "ls -l" and "ls -1". Read "man ls"
- Practice using "touch". Read "man touch"
- Practice using "grep".
- Make sure you read about . .. ~ and / .
- Read "man less"
- Read about pipes and redirection (|, <, >, >>), sed, split, chmod, curl and lynx
Once you're done that, you can try out some of the free quizzes on the bdv-unix-skills website.
Hope that helps, and since I'm still learning too, more advice is most welcome!