UNIX: Difference between revisions
Andre Castro (talk | contribs) (Created page with "=Beginnings of Unix= After being withdrawn from project Multics Ken Thompson and Dennis Richie started writing UNIX in 1969 at AT&T Bell Labs. File:Thompson&Richie.jpg h...") |
Andre Castro (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
After being withdrawn from project Multics Ken Thompson and Dennis Richie started writing UNIX in 1969 at AT&T Bell Labs. | After being withdrawn from project Multics Ken Thompson and Dennis Richie started writing UNIX in 1969 at AT&T Bell Labs. | ||
[[File:Thompson&Richie.jpg]] | [[File:Thompson&Richie.jpg]] | ||
Ken Thompson and Dennis Richie found themselves at the Bell Labs without much hardware or funding. | Ken Thompson and Dennis Richie found themselves at the Bell Labs without much hardware or funding. |
Revision as of 12:11, 24 October 2016
Beginnings of Unix
After being withdrawn from project Multics Ken Thompson and Dennis Richie started writing UNIX in 1969 at AT&T Bell Labs.
Ken Thompson and Dennis Richie found themselves at the Bell Labs without much hardware or funding.
Having to resort to discarded hardware and influenced by their experience of Multics, they start developing UNIX, a super slim operating system, that could run in hardware available and yet include some of appealing features of Multics.
Features of UNIX
Some of the features of UNIX were influenced from Multics,
- it was time-sharing system, allowing for mutiples users to login to the machine
ssh username@machineIP
- included the shell: a program which performs command line interpretation
whoaim
pwd
(print working directory - where am I)date
users
- tree-structured file system
tree ~/
list contents of home (~ == /home/username ) in a tree-like formatls ~
list files and directories in your user home ( ~ == /home/username )ls .
list files and directories in current directory ( . == current dir )ls ../
list files and directories in parent directory ( . == current dir )ls foo/
list files and directories in child foo/ directoryls /
list files and directories in root ( / == root )
Others emerged from the development and use of the system and crystallized into the Unix Philosophy:
- Write programs that do one thing and one thing well
ls
lists files in a directorycat
outputs content of filewc
counts number of words in file - Write programs that work together
echo "hello UNIX world"|sed 's/o/0/g'|sed 's/e/3/g'| sed 's/l/1/g'|figlet
- Write programs that handle text streams, because that is a universal interface
man -a intro | espeak
Linux introduction to user commands.
man pages
every thing is a file
Distribution of UNIX
Forking of UNIX
- Linux distributions
- package managers: aptitude
- Mac OsX
- homebrew http://brew.sh/