Like all major Linux distributions, such as Ubuntu, Red Hat, and SuSE Linux, Mac OS X has a "desktop environment", which provides a graphical user interface to application programs and system settings. This desktop environment is built on top of a Unix type OS just as the desktop environments of Linux distros are built on top of the core Linux OS. However, Linux distros usually offer alternative desktop environments besides the one installed by default. Max OS X and Microsoft Windows don't give users the option to switch desktop environments, other than minor look-and-feel adjustments such as color schemes and font size.
The practical aspect of the common roots of Linux and Mac OS X is that both follow the POSIX standard. POSIX stands for Portable Operating System Interface for Unix-like Operating Systems. This compatibility makes it possible to compile applications developed on Linux on Mac OS X systems. Linux even provides options to compile applications on Linux for Mac OS X.
Like Linux distros, Mac OS X includes a Terminal application, which provides a text window in which you can run Linux/Unix commands. This terminal is also often referred to as command line or shell or shell window. It's the text based environment that people used to operate computers before graphical user interface became available. It is still widely used for system administration and scripting automated processes.
The popular Bash shell is available in Mac OS X, including Mountain Lion, as it is in pretty much all Linux distributions. The Bash shell enables you to quickly traverse the file system and start text based or graphical applications.
In a shell/command line you can use all your basic Linux/Unix and shell commands such as ls, cd, cat, and more. The file system is structured as in Linux, with partitions/directories such as usr, var, etc, dev, and home at the top, although there are some additional folders in OS X.
The basic programming languages of Unix-type operating systems such as Linux and Mac OS X are C and C++. Much of the operating system is implemented in these languages, and many basic applications are implemented in C and C++ as well. Higher level programming languages such as Perl and Java are also implemented in C/C++.
Apple provides the Objective C programming language including the IDE (Integrated Development Environment) Xcode to support the development of applications for OS X and iOS.
Like Linux, OS X includes strong Java support and actually provides a custom Java installation to insure seamless integration of Java applications in OS X. It also includes terminal based versions of the text editors Emacs and VI, which are popular on Linux systems. Versions with more GUI support can be downloaded from Apple's AppStore.
One of the differences between Linux and Mac OS X is the so-called kernel. As the name indicates, the kernel is the core of a Unix-type OS and implements functions such as process and memory management as well as file, device, and network management. When Linus Torvalds designed the Linux kernel he opted for what is referred to as a monolithic kernel for performance reasons, as opposed the a microkernel, which is designed for more flexibility. Mac OS X uses a kernel design that compromises between these two architectures.
While Max OS X is mostly known as desktop/notebook operating system, recent versions of OS X can also be used as server operating system, although the add-on package Server App needs be acquired to get access to all the server specific applications. Linux however remains the dominant server operating system.