video: https://www.youtube.com/watch?v=tc4ROCJYbm0
1. a unix system is made up sort of 3 layers:
central layer: the colonel is the thing controls resources of the machine
shell: wrapper around the central layer conceptually which is the interface between most users and the colonel part
utilities: useful programs things like editors, compilers, doc formatting pros
2. the thing that distinguish unix system from many other systems is the degree to which those building blocks (programs) can be glued together in a variety of different ways to get different jobs done, the system is very flexible in the respect.
pipeline is the fundamental contribution with which you can take a bunch of pros and stick them together into the end so that the data simply flows from one on the left to the one on the right and the system itself looks after all the connections all of the synchronization making sure that the data goes from the one into the other.
i.e. pipeline the output of one cmd as the input of another
3. the heart of the system is really the file system, the ability to store information for extended periods of time
4. another nice feature of the unix programming env is the concept of input-output redirection