New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

What is Unix?

From: Unix for Mac OS X Users

Video: What is Unix?

To start things off let's begin by getting an understanding of what Unix is and how Unix got to the point where it is today. Unix is an operating system. It was created during 1969 to 1971 by AT&T employees working at Bell Labs. A lot of these Bell Labs employees have been involved in designing a mainframe operating system called MULTICS, which was short for Multiplexed Information and Computing Service. Back then, mainframes were expensive so users were granted time-sharing slots to do their work and to use the power for the mainframe, often by logging in from a remote terminal that had far less computing power.

What is Unix?

To start things off let's begin by getting an understanding of what Unix is and how Unix got to the point where it is today. Unix is an operating system. It was created during 1969 to 1971 by AT&T employees working at Bell Labs. A lot of these Bell Labs employees have been involved in designing a mainframe operating system called MULTICS, which was short for Multiplexed Information and Computing Service. Back then, mainframes were expensive so users were granted time-sharing slots to do their work and to use the power for the mainframe, often by logging in from a remote terminal that had far less computing power.

MULTICS was designed to manage that remote login time-sharing process. But MULTICS became such a huge and complex project that Bell Labs decided to pull out of it. The Bell Labs employees who'd worked on MULTICS still like the project's goals and so, almost as a side project they worked on building a smaller and simpler version of it. Originally, their version only supported a single user, so that as a play on the name they called it UNICS, Uniplexed Information and Computing Service instead of Multiplexed. Very quickly though it became able to support multiple users and so they renamed it Unix with an X, which doesn't actually stand for anything anymore. It's just Unix.

Now at this point Unix is just another mainframe operating system being used internally by Bell Labs. But two important events give Unix a big boost in popularity. First, in 1972 Unix was rewritten in the C programming language. Up until that point, operating systems were typically written in Assembly language. Assembly was a very low-level programming language that required the code to be written for specific computer hardware. It's very fast, but it's not portable. If you wanted to port an OS to a new computer type, then you have to rewrite major portions of your code to do it.

The C programming language was a programming language originally designed for the Unix operating system to write programs for the Unix operating system. It's a low-level programming language but not as low-level as Assembly, and so C makes writing programs easier than Assembly and also makes them hardware-independent. So the important development here is that not only do they write programs in C, but they took the additional step and said, "Hey, what if we rewrote the entire operating system in C, so that then Unix becomes portable too? We don't have to rewrite the operating system whenever we want to take it to a new type of hardware." The next important event is the spread of Unix outside AT&T. Because of a court order in an antitrust case AT&T had been forbidden from entering the computer software business.

So therefore they could not sell the Unix operating system. They can only give it away. So that's exactly what they did. If you wrote to them and asked them for a copy of Unix, they would give you a free license and send you all the source code for it. That made it very attractive to government agencies, universities, and corporations who had these mainframe computers because now they could get a free license and all the source code to be able to run on their mainframes. Perhaps the most important of those three is actually universities. Because if you think back, in 1975 this is a point when computer programming is really beginning to take off and there are a lot of people at universities who are learning about computers for the first time, getting access to mainframe computers for the first time, and what are they using? They are using Unix.

So Unix becomes the first thing that these programmers learn. So they go on to find all these software companies throughout the 80s and 90s and the thing that they first started working with was Unix. So the first time release in 1975 is often referred to as System Five and that's kind of the first public version of Unix. But over time more branches and improvements are released and that keeps going even today. The most famous of these is probably the Berkeley Software Distribution, also just called BSD for short. That came out in 1977 and then there've been other ones that are either open source, closed source, or mixed source.

Linux is open source. Closed source versions, each major software company seems to have their own. Sun Oracle has Solaris, IBM has AIX, and Hewlett-Packard has HP UX. And of course the mixed source version, mixture of open source software and closed source software, is Apple's Mac OS X. So it's gotten to the point now with all these branches and improvements that no one is really using Unix, the pure System Five Unix that originally came out. So Unix now really means a Unix-like system. There are all these different versions, they all have their quirks and peculiarities, they are a little bit different, but they all work according to the same principles and are very, very similar.

So if you hear Unix now, it really can mean all of these things. In fact mobile devices now are Unix too. iPhone, the iPad and Android are all based on Unix. They are Unix like systems. Now of course the version that we're most interested in is going to be Mac OS X Unix. Mac OS X is based on BSD Unix, the Berkeley Software Distribution. But in addition to that there is code that was developed at NeXT. NeXT is a software company that Steve Jobs founded after leaving Apple and they created code that they called NeXTSTEP, which went on top of BSD Unix. When Apple bought NeXT they got all of that code and took it and added more improvements to it and called the combination of those three Darwin.

So if you hear anyone refer to Darwin, that's what it is. It's BSD Unix plus NeXTSTEP's code plus Apple's continued improvements to it that make up Darwin, which is the Unix that sits underneath Mac OS X. Mac OS X includes a lot more than that. It's the Finder and all these other things as well. But Unix is under the hood. The Finder and system preferences interact with Unix. Now we can interact with Unix directly by using the Terminal application and we'll start doing that in the next movie. The command line is going to allow us to type the commands that we want Unix to do, instead of using the graphical user interface that you're familiar with, with your typical Mac operating system. So why do this? Why use Unix directly when you have this graphical user interface? Well there is a lot more power in the command line.

Imagine this scenario and think about how you would do it in the Finder. Search your hard drive for every file whose name contains invoice and which was created after a certain date. Then remove the file extension from each filename and save that list to a text file. Now with Unix that type of data intensive task is very easy to do. It's not the answer to everything. You could never do in Unix what you do in Photoshop for example and it's nice to be able to just drag and drop files into folders with the mouse instead of having to type the command into the keyboard. But as a general rule when working with data, non-data elements can get in your way.

I think of it as being very similar to the difference between car transmissions. If you have an automatic transmission you give up control for having the convenience. You don't have to worry about shifting gears. It just does it for you. But you're not necessarily getting the best shifting possible or exactly what you want. With a manual transmission you give up the convenience but instead you get control. So essentially what we are going to be doing in this training title is learning to drive stick. Now one final note before we do that. Most of all we cover in this course is going to apply to any flavor of Unix.

All Linux distributions, Red Hat, Ubuntu, DBM, Solaris, AIX, each flavor of Unix may require a few modifications. Maybe the options to a command won't be exactly the same or maybe there are some new commands that exist on one of those distributions but not on another one. But you'll have enough knowledge that you should be able to quickly adapt to those systems and that makes this course useful not just for Mac OS X users, but also for web developers who plan to deploy their website to a remote LINUX server.

Show transcript

This video is part of

Image for Unix for Mac OS X Users
Unix for Mac OS X Users

82 video lessons · 24967 viewers

Kevin Skoglund
Author

 
Expand all | Collapse all
  1. 3m 57s
    1. Introduction
      1m 14s
    2. Using the exercise files
      2m 43s
  2. 32m 2s
    1. What is Unix?
      7m 27s
    2. The terminal application
      4m 23s
    3. Logging in and using the command prompt
      5m 19s
    4. Command structure
      5m 22s
    5. Kernel and shells
      5m 25s
    6. Unix manual pages
      4m 6s
  3. 15m 58s
    1. The working directory
      2m 49s
    2. Listing files and directories
      3m 59s
    3. Moving around the filesystem
      4m 58s
    4. Filesystem organization
      4m 12s
  4. 1h 4m
    1. Naming files
      5m 41s
    2. Creating files
      2m 19s
    3. Unix text editors
      6m 39s
    4. Reading files
      5m 35s
    5. Reading portions of files
      3m 27s
    6. Creating directories
      2m 40s
    7. Moving and renaming files and directories
      8m 32s
    8. Copying files and directories
      3m 7s
    9. Deleting files and directories
      3m 38s
    10. Finder aliases in Unix
      4m 10s
    11. Hard links
      5m 30s
    12. Symbolic links
      6m 36s
    13. Searching for files and directories
      6m 32s
  5. 34m 58s
    1. Who am I?
      4m 3s
    2. Unix groups
      1m 52s
    3. File and directory ownership
      6m 41s
    4. File and directory permissions
      4m 27s
    5. Setting permissions using alpha notation
      6m 49s
    6. Setting permissions using octal notation
      3m 49s
    7. The root user
      1m 57s
    8. sudo and sudoers
      5m 20s
  6. 52m 34s
    1. Command basics
      4m 4s
    2. The PATH variable
      4m 13s
    3. System information commands
      3m 40s
    4. Disk information commands
      6m 8s
    5. Viewing processes
      5m 0s
    6. Monitoring processes
      3m 36s
    7. Stopping processes
      3m 19s
    8. Text file helpers
      6m 50s
    9. Utility programs
      7m 28s
    10. Using the command history
      8m 16s
  7. 20m 39s
    1. Standard input and standard output
      1m 24s
    2. Directing output to a file
      4m 13s
    3. Appending to a file
      2m 44s
    4. Directing input from a file
      5m 28s
    5. Piping output to input
      4m 40s
    6. Suppressing output
      2m 10s
  8. 41m 28s
    1. Profile, login, and resource files
      9m 11s
    2. Setting command aliases
      6m 59s
    3. Setting and exporting environment variables
      4m 54s
    4. Setting the PATH variable
      6m 10s
    5. Configuring history with variables
      6m 17s
    6. Customizing the command prompt
      6m 5s
    7. Logout file
      1m 52s
  9. 1h 25m
    1. grep: Searching for matching expressions
      5m 21s
    2. grep: Multiple files, other input
      4m 28s
    3. grep: Coloring matched text
      2m 57s
    4. Introduction to regular expressions
      3m 22s
    5. Regular expressions: Basic syntax
      3m 19s
    6. Using regular expressions with grep
      5m 20s
    7. tr: Translating characters
      8m 17s
    8. tr: Deleting and squeezing characters
      5m 30s
    9. sed: Stream editor
      7m 45s
    10. sed: Regular expressions and back-references
      7m 8s
    11. cut: Cutting select text portions
      7m 42s
    12. diff: Comparing files
      4m 35s
    13. diff: Alternative formats
      4m 30s
    14. xargs: Passing argument lists to commands
      7m 25s
    15. xargs: Usage examples
      7m 59s
  10. 42m 25s
    1. Finder integration
      4m 45s
    2. Clipboard integration
      5m 5s
    3. Screen capture
      3m 42s
    4. Shut down, reboot, and sleep
      3m 34s
    5. Text to speech
      2m 36s
    6. Spotlight integration: Searching metadata
      3m 41s
    7. Spotlight integration: Metadata attributes
      4m 24s
    8. Using AppleScript
      5m 23s
    9. System configurations: Viewing and setting
      5m 51s
    10. System configurations: Examples
      3m 24s
  11. 1m 26s
    1. Conclusion
      1m 26s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.