Transcript from the "What is Unix" Lesson
>> I wanna talk a little bit more what you can expect to learn, like more specifically. So you can kinda set some expectations. You could jump around between section to section and that would be okay. There is a little bit that does some concepts built on others. So if you try and invest to more advanced concepts without taking the more beginner ones, you might be confused.
[00:00:20] So I did put it in an order for a reason. But yeah, today I wanna introduce you to what is Linux, so you can feel more comfortable with working at a different operating system, if you're not already. What Linux can solve for you, what the command line is, how to navigate around the command line, and how to accomplish some basic tasks and kind of customize it a little bit.
[00:00:43] So I hope you come out on the other side a little bit more excited about Linux than you entered. So I'm gonna give you a bit of a history lesson on why Linux exists, why it's out there. I think it's just useful for people to know why it was created and where it came from.
[00:01:06] So Linux is a Unix based operating system. That means it derives heavenly inspiration from Unix without actually being Unix. I'm sure you've heard those terms, Linux and Unix. And these days, we tend to use them almost interchangeably, but they are actually very different concepts. Unix was an operating system invented at Bell Labs in the 70s.
[00:01:27] Bell Labs, which is eventually, it was broken up and AT&T was one of those companies. So you can relatively think of it as AT&T in the 70s, built this operating system called Unix and everyone liked and it was very popular. But you had to pay to use Unix and that kind of rubbed a lot of people the wrong way.
[00:01:48] But a big part of what made Unix Unix is they have the Unix philosophy, which actually became very popular. And whether or not you know you're likely still writing code in some regards according to the Unix philosophy. So yeah, that influence is still felt today. So I just wanted to highlight to you what those are.
[00:02:07] It kind of helps you understand why the tools are the way that they are. So the Unix philosophy is make each program do one thing well. If you're gonna make it do more things, you're better off creating a new program rather than modifying an old program. That way you kinda have these old programs that stay stable and you can make new fresh things without the burden of trying to maintain old patterns.
[00:02:32] Expect the output of every program to be an input to another program and that's kinda where we got the ideas of streams and pipes. And we'll get to that, there's a whole section on that. But that's kind of the ideas that you can take these disparate program and you can plug them together to make bigger programs basically.
[00:02:48] Design and build software, even operating systems, to be tried within weeks, so that you can ID it early and iterate and get things right. And you can get user feedback, which I appreciate that stuff that I do now. Yeah, and use tools in preference to unskilled help to lighten the programming task.
[00:03:11] So if you have a problem, write a program that solves your problem. That's kind of the gist of that. So there's a lot of wisdom here, there's stuff that I still try to incorporate in my day to day coding. So yeah, hope that's interesting to you. So I kinda wanted to get into the family tree of Unix and this looks like a mess because it's a mess.
[00:03:29] [LAUGH] And this is like how people can never agree on anything, right? Okay, so you have Unix down here, this is in the 70s. And so that was like the base here, right? That's the Unix like operating system, and then it branched off in pretty much in two very strong directions.
[00:03:50] One of them was BSD, which you might have heard of. Today, you can still use FreeBSD, which is still around quite a bit. But the BSD that you're probably most familiar with would be Mac OS. Mac OS is a derivative of BSD. And then you'll see over here as well that you have the GNU as I've heard people call it or GNU.
[00:04:14] And then from there, we actually got Linux from a fellow named Linus Torvalds. And then there's some other directions that this has gone off as well. AIX, that's actually my dad used to work on, believe it or not. There's Solaris from Sun and Oracle, HP-UX, there's a bunch of them, right?
[00:04:31] But the ones that you're gonna be most concerned with today are, I mean, BSD if you're on a Mac, right? So I'm running a Mac right now. This is a BSD based operating system and Linux. But they're all considered a Unix like, right? And I say Unix like because they adhere to very similar principles and APIs and all that kind of stuff.
[00:04:50] They actually are separate code bases that work in different ways. But yeah, that's why they're so similar, that's why Mac OS and Linux end up being so similar. It's because they're both derived from Unix.