Ah, Unix. A strange and wonderful world. If you're new to Unix, you might think it really blows goats compared to stuff like Windows or even Macs. Hell, at least on a Mac you can double-click something and it'll open for you. None of this command-line, crap, right? Well, truth be told, in modern Unices with modern interfaces, you can just double-click on stuff and have it open for you, too (see ObligatoryScreenshots for proof of that). But you also have a rich and powerful world beneath all that.

If you are genuinely interested in learning some real Unix stuff, I suggest you pick up "Think Unix" by Jon Lasser. It's a great book, and it explains some history behind Unix, how it works and why it works the way it does.

But, to make a long story short, Unix might seem weird and arcane and completely unusable to you at first. But after a while, there's sort of a moment when it all "clicks", and you catch on to some of the patterns and stuff. It really is great stuff. A few taps on the keyboard, and I can do things that would take a Windows user hours. A friend asked me how he could get a list of all the JPEG files on his computer and their sizes. Hmm.. think about how you would do this in Windows maybe using the "search" function and searching for *.jpg and *.jpeg. Ok, now you have a list of all those files, but how do you get that list itself into a file? It's sort of non-obvious. Here's a Unix command that'll do it:

find / |grep -E '(\.jpg$|\.jpeg$)' |xargs ls -lh >> some_file

Ok, that's a bit complicated, but the point is I can type that one thing and easily generate the required list. Anyway, definitely look into "Think Unix" if you're interested. It's great that these days, you can have the eye candy and easy "double-click" interface of Windows and Macs, as well as the immense power and flexibility of the Unix command line. The best of both worlds, I tell yah!

But, on to the actual tips: