Hi
Where do I start with this?
does it do anything special?
Yes. Think of the GUI (Graphical User Interface) or to put it more simply, what you look at when you switch your mac on ie: icons of folders, drives etc, mouse arrow moving around the screen etc. Think of this as you would an motor car with automatic transmission. Simply put it into drive and depress the accelerator and away you go.
However auto transmission does not necessarily mean you get the most out of the engine in terms of performance, speed etc. Would it not be useful to have the ability to flip from auto to manual when the need arises?
Terminal is what allows you (the user) to get under the hood of OSX as a GUI. It is more direct, more powerful and quicker. It is also something to be treated with caution. There are no undos when using terminal. Try this as an exercise. Launch terminal and you should see something like this:
Last login: Mon Mar 09 12:37:20 on ttyp1
Welcome to Darwin!
my-computer:~ mydefaultaccount$
If you double click on your hard drive, select Users and then see the name by the side of the house icon you will see that it is the same as the third line in terminal. Thats because by default terminal goes to your home folder as its home location. The ~ denotes the home folder. If you then key in this command:
cd /
You should see something like this:
mycomputer:/ mydefaultaccountname$
The / denotes the primary hard drive. Now key in:
ls
and you should see something like this:
Applications TheVolumeSettingsFolder mach
Desktop DB Trash mach.sym
Desktop DF Users mach_kernel
Desktop Folder Volumes private
Library automount sbin
Network bin tmp
My Personal File cores usr
System dev var
System Folder etc
mycomputer:/ mydefaultaccountname$
You can now see listed everything that is on your hard drive visible and invisible.
if so whats the codes for those special things
The best way of answering this is probably this way. Built into every OSX operating system is a series of unix-style manuals. (Unix is the foundations - building blocks if you will of the operating system). Simply typing man followed by whatever it is you are interested in will give you a manual with example commands etc for that command. Try this one as an example:
man ipconfig
and you should see something like this:
IPCONFIG(8) BSD System Manager's Manual IPCONFIG(8)
NAME
ipconfig -- view and control IP configuration state
SYNOPSIS
ipconfig waitall
ipconfig getifaddr interface-name
ipconfig ifcount
ipconfig getoption interface-name (option-name | option-code)
ipconfig getpacket interface-name
ipconfig set interface-name NONE
ipconfig set interface-name (DHCP | BOOTP)
ipconfig set interface-name (MANUAL | INFORM) ip-address subnet-mask
ipconfig setverbose level
DESCRIPTION
ipconfig is a utility that communicates with the IPConfiguration agent to
retrieve and set IP configuration parameters. It should only be used in
a test and debug context. Using it for any other purpose is strongly
discouraged. Public API's in the SystemConfiguration framework are cur-
rently the only supported way to access and control the state of IPCon-
figuration.
This is only a part of it. Holding down the down arrow scrolls through the rest of the manual. If you are not sure if there is a manual for a specific command then simply using apropos followed by whatever it is you are interested in should return something that may or may not have a manual associated with it. Bear in mind not all manuals are complete, some have incorrect information and for some command they may not even be a manual installed. This does not mean that you can't use the command however.
For most people using terminal (the command line) is not necessary or even recommended. Its usually the preserve of those interested in it or those of use who administer and support small to medium to large networks and servers etc. However - occasionally - especially if you have a file that refuses to delete no matter what you do then the command line is the only alternative short of backing up reformatting and reinstalling - which would a real pain - right?
Tony