UNIX: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 13: Line 13:


* it was '''time-sharing''' system, allowing for mutiples users to login to the machine <code>ssh username@machineIP</code>
* it was '''time-sharing''' system, allowing for mutiples users to login to the machine <code>ssh username@machineIP</code>
* included the '''shell:''' a program which performs command line interpretation  <code>whoaim</code> <code>pwd</code> (print working directory - where am I) <code>date</code> <code>users</code>
* included the '''shell:''' a program which performs command line interpretation  ** <code>whoaim</code>  
** <code>pwd</code> '''p'''rint '''w'''orking '''d'''irectory - where am I?
** <code>date</code>
** <code>users</code> print the user names of users currently logged in to the current host
** <code>history</code> commands' history
* tree-structured file system  
* tree-structured file system  
** <code>tree ~/</code> list contents of home (~ == /home/username ) in a tree-like format  
** <code>tree ~/</code> list contents of home (~ == /home/username ) in a tree-like format  
Line 23: Line 27:


Others emerged from the development and use of the system and crystallized  into the ''Unix Philosophy'':
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 <code>ls</code> lists files in a directory <code>cat</code> outputs content of file <code>wc</code> counts number of words in file  
* '''Write programs that do one thing and one thing well'''
* Write programs that work together  
** <code>ls</code> lists files in a directory  
** <code>echo "hello UNIX world"|sed 's/o/0/g'|sed 's/e/3/g'| sed 's/l/1/g'|figlet</code>
** <code>cat</code> outputs content of file  
* Write programs that handle text streams, because that is a universal interface  
** <code>wc</code> counts number of words in file  
* '''Write programs that work together'''
** <code>echo "hello UNIX world" | sed 's/o/0/g' | sed 's/e/3/g' | sed 's/l/1/g' | figlet</code>
* '''Write programs that handle text streams, because that is a universal interface'''
** <code>man -a intro | espeak</code> Linux introduction to user commands.
** <code>man -a intro | espeak</code> Linux introduction to user commands.
==Distribution of UNIX==


  man pages
  man pages
Line 33: Line 45:
  every thing is a file
  every thing is a file


Distribution of UNIX
 


Forking of UNIX
Forking of UNIX

Revision as of 14:32, 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.

Thompson&Richie.jpg

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 print the user names of users currently logged in to the current host
    • history commands' history
  • tree-structured file system
    • tree ~/ list contents of home (~ == /home/username ) in a tree-like format
    • ls ~ 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/ directory
    • ls / 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 directory
    • cat outputs content of file
    • wc 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.

Distribution of UNIX

man pages
every thing is a file


Forking of UNIX

  • Linux distributions
    • package managers: aptitude