Terminal for Post Production - Shells and the Interface
So Terminal - what is it? You’ve probably used it to do something like turn on / off hidden files on your Mac, but you may not have ventured much further than that. Terminal is a command line interface, allowing you to interact with your computer a little more closely. It bypasses the occasionally awkward experience of using Finder and other GUI tools.
Need an example? Let’s say that you need to copy a folder from one external hard drive to two other drives. Given the hardware that you have available, you know it’s going to take longer to do the copy if you start both at the same time than if you start one after the other is finished. You could of course wait for the first copy to finish and then start the second - but what if you want to go to lunch? In about 10 seconds, I could set up the same copy in Terminal, executing the second copy after the completion of the first. This may not seem like a massive improvement, but these gains spread over dozens of processes day after day allow me to get more done with fewer resources.
Shells and the Interface
Terminal has the ability to work within different Unix "shells" - essentially languages written to emulate the process of directly interacting with the computer through the input of commands. These shells handle most of the dirty work in terms of dealing with hardware resources, etc. The default shell in recent versions of OX X/mac os is bash (Bourne Again SHell). While it is possible to change the shell that OS X uses, I haven't had a reason to use anything outside of bash for my needs.
When using the console (the physical Terminal window), you'll be entering a command following the "prompt" - generally a "$" on your screen. After completing a command, you run it by hitting enter or return. Commands run inside of this window. If you close your Terminal window, the command will stop running. You can run multiple commands in multiple windows.
To move around in the console, you use the arrow keys on your keyboard. While you can select text in the window using your mouse, any input needs to be done through the keyboard.
The real power and flexibility of Terminal comes through modifying and linking together these commands. You're no longer restricted to the existing buttons that Apple gives you in OS X. In the next post, I'll be diving into the anatomy of a bash command.