Getting started with Unix on OSX
As a developer you will often be required to use the command line.
This article will be an intro to Unix. For those who are developing in Windows OS my top advice is get a dual boot with Linux or splash out on a Mac.
When I first started coding I was already familiar with the command line, I cut my teeth a long time ago by installing a Linux Slackware distribution that required a manual install of the X windows system. X is the GUI (graphical user interface) that existed at the time.
I quickly learnt though that many of my cohort in code school had never used the command line. If you’re in a similar position then this article is for you.
Mac OS X uses a custom built Unix, a combination of Darwin and some apple proprietary code; a true multi user operating system that enables multiple applications to run at the same time. Many mac users will never need to use the command line terminal application but if you’re a developer and I’m presuming you are, then chances are you are going to be using it regularly.
Once you start using the terminal for simple things like changing directory (cd) or opening files, you will grow into a power user. The techniques you will develop will help you to write scripts that can do multiple things.
Imagine you need to convert a folder full of mp3 into wav files. You could search for software with a GUI that can do it for you and you may or may not have to pay for such software or you can download the unix utility ffmpeg. Once in the Unix universe of software you will find immensely powerful tools for doing tasks.
If you’re interested to know more about a command in Unix you can use the ever helpful man command to retrieve a manual page for a command. try typing man cd in your terminal.
Unix is a power users dream, originally built by scientists at Bell labs in the 1970’s it has grown to become the demi-God of operating systems. You can find versions of it in all Mac OS X and inside Android phones, Linux desktops, and many many servers around the world in one form or another.
Learn it, love it and let it guide you on your journey as a developer.