Linux Introduction. It All Started With UNIX Remember Linux was a Unix-based OS Unix was developed in 1970 by AT&T Lab (Later known as Bell Lab) Originated.

Slides:



Advertisements
Similar presentations
A Guide to Unix Using Linux Fourth Edition
Advertisements

Learning Unix/Linux Bioinformatics Orientation 2008 Eric Bishop.
Chapter One The Essence of UNIX.
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Josh Goodwin
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Linux Introduction. It All Started With UNIX Remember Linux was a Unix-based OS Unix was developed in 1970 by AT&T Lab (Later known as Bell Lab) Originated.
Guide To UNIX Using Linux Third Edition
Operating Systems.
Introduction to Linux/UNIX. History UNIX beginnings in 1969 (Linus Torvalds is born!) AT & T Bell Laboratories (Ken Thompson & Dennis Richie) Working.
Linux Operating system
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
The University of Akron Summit College Business Technology Department Computer Information Systems 2440: 145 Operating Systems Introduction to UNIX/Linux.
Linux Basics. What is an Operating System (OS)? An Operating System (OS) is an interface between hardware and user which is responsible for the management.
What is Unix Prepared by Dr. Bahjat Qazzaz. What is Unix UNIX is a computer operating system. An operating system is the program that – controls all the.
Linux Shell. 2 Linux Command-Line Interface ■ Linux shells: A shell is a command interpreter that allows you to type commands from the keyboard to interact.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
1 Web Server Administration Chapter 3 Installing the Server.
Overview of Linux CS3530 Spring 2014 Dr. José M. Garrido Department of Computer Science.
Chapter 9 Part II Linux Command Line Access to Linux Authenticated login using a Linux account is required to access a Linux system. The Linux prompt will.
유닉스, 왜 공부하나 ? 자동화 –GUI vs commands 서버 개발 능력, 관리 능력 – 데스크탑에서의 개발과 관리와의 차이 ?
Cmsc 312 Operating Systems. UNIX? DOS – PC? VAX/VMS - mainframe Unix – PC, workstation, mainframe 1970 bell Lab For computer scientist? Why popular? Free.
CENT 305 Information Systems Security Linux Introduction.
1 Web Server Administration Chapter 3 Installing the Server.
BAI517 Chris Redford. Section Outline Objectives GNU The Linux 2.6 Kernel The Heritage of Linux What’s so good about Linux? Features of Linux.
Introduction to Linux ( I ) Sidney Fong 4 th Feb 2006.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
INTRODUCTION TO LINUX Jacob Chan. GNU/Linux Consists of Linux kernel, GNU utilities, and open source and commercial applications Works like Unix –Multi-user.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
1 Operating Systems and Using Linux Topics What is an Operating System? Linux Overview Frequently Used Linux Commands Some content in this lecture added.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Lesson 2-Touring Essential Programs. Overview Development of UNIX and Linux. Commands to execute utilities. Communicating instructions to the shell. Navigating.
Welcome to CS323 Operating System lab 1 TA: Nouf Al-Harbi NoufNaief.net.
IT320 OPERATING SYSTEM CONCEPTS Unit 3: Welcome to Linux September 2012 Kaplan University 1.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
Unix/Linux for beginners:
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson
Introduction to Programming Using C An Introduction to Operating Systems.
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop I Introduction to Linux Professional Training Academy.
Linux A practical introduction. 1)Background and Getting Started Linux is an operating system with multiple providers Red Hat/CentOS (our version) Ubuntu.
1 Introduction to Unix. 2 What is UNIX?  UNIX is an Operating System (OS).  An operating system is a control program that helps the user communicate.
The Kernel At a high level, the kernel in an operating system serves as the bridge between applications and the actual data processing of the hardware.
1 CS3695 – Network Vulnerability Assessment & Risk Mitigation – Introduction to Unix & Linux.
Gorman, Stubbs, & CEP Inc. 1 Introduction to Operating Systems Lesson 8 Linux.
Operating Systems and Using Linux Courtesy of John Y. Park 1.
Learning Unix/Linux Based on slides from: Eric Bishop.
INTRODUCTION TO SHELL SCRIPTING By Byamukama Frank
UNIX  Portable (common to many computer architectures), multitasking, multi-user operating system  Introduced by Bell labs in mid-1960’s  Thus, much.
2Operating Systems  Program that runs on a computer  Manages hardware resources  Allows for execution of programs  Acts as an intermediary between.
Linux 101: Introduction To Linux Purdue Linux Users Group Speaker: Thor Smith.
Overview of Linux Fall 2016 Dr. Donghyun Kim
EE516: Embedded Software Project 1
Welcome to Linux Chap#1 Hanin Abdulrahman.
Unix Shells.
introduction to Linux/Unix environment
Chapter 1 The Essence of UNIX and Linux
CSE 390a Lecture 1 introduction to Linux/Unix environment
Unix : Introduction and Commands
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Linux Professor Sabol.
introduction to Linux/Unix environment
Welcome to Linux Chap#1 Hanin Abdulrahman.
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Welcome to Linux Chap#1.
introduction to Linux/Unix environment
Department of Engineering Science EE 465 (CES 440) - Intro
Presentation transcript:

Linux Introduction

It All Started With UNIX Remember Linux was a Unix-based OS Unix was developed in 1970 by AT&T Lab (Later known as Bell Lab) Originated from MULT-ICS  UNI-XS Versions III, Version V (SVR1, …) Later the source code of Unix was given to universities including UC Berkeley UC Berkeley enhanced the existing version called it Berkeley Software Distribution Unix SVR4 combines all Berkeley enhancements and original features Unix was essentially for workstations

Then Came Linux Created in 1991 by Linus Torvalds PC-based operating system Based on the existing UNIX operating system Released in 1994 as Version 1 Initially was developed for 80x86 processors (IA32 or i386 architecture processors) Today it support various processor AMD, Motorola 6800, Power PC, etc.

Linux Distros Each distro is a package including the OS and different applications Different distros provide different applications and require different installations steps The package includes Core Linux OS (also called Kernel) X Window System and GUI interfaces Graphical desktop (e.g., GNOME orKDE) Different applications Corel, KOffice, Tex, Word Processor, Spreadsheet, etc. Documentations Each Distro is under General Public License (GNU) Anyone can copy and distribute the software in open source form to others Obtaining a distro can be through ready made packages over the net or buying the CD or just compiling a version Distribution Ubuntu SUSE 10.1 Fedora Core 5 SimplyMEPIS 6.0 PCLinuxOS 0.93a Mandriva 2006 Slackware 10.2 Debian 3.1r3 Damn Small Gentoo Puppy 2.10 Freespire 1.0

Linux Distros - GNU GNU is a free operating system consisting of a kernel, libraries, system utilities, compilers, and end-user applications. "GNU's Not Unix", which was chosen because its design is Unix-like, but differs from Unix by being free software and by not containing any UNIX code.

Red Hat and Fedora Core Fedora Project was introduced in 1993 to take over Red Hat Linux Red Hat 9 was the last version The new Linux distro called Fedora Core A new version every six months! 2004  Fedora Core  Fedora Core 4 New applications include OpenOffice, FireFox, GIMP Photo Manipulation program 2007  Fedora Core 6

A Layered View Application Programs Shell/Photo/WP/FTP/Telnet/ Web Browser User Application Programmer Interface (API)- C/C++/Java/Fortran Operating System (Kernel) Computer Hardware, I/O devices, Memory, CPU, Storage Devices

Kernel Basics Linux provides a Top-Bottom View Virtual Machine Isolates the user from the machine Actions such as saving, copying, deleting, memory allocation, etc. are done without having to install external software Basic blocks Process Management File Management Memory Management CPU Scheduler Inter-process Communication

Kernel Basic Blocks File Management Inter-process Communication (IPC) CPU Scheduler Process Management Primary and Secondary Storage Management

Kernel The Kernel contains the actual Operating System (OS) Manages processes in terms of creating, suspending, terminating, and maintenance Schedules CPU Provides inter-process communications and communicates with devices Has many different versions 1.x.y  Major.minor.patch 2.6 is one of the most improved Linux 2.6 Version improvements Supports more hardware Higher Stability Supports 4 billion users and 16 TB File System! Handles external devices better (supporting Hot Plug Devices – USB) Supports many new devices (Wireless, USB-based, different storage devices using IDE, SCSI, etc.) Better sound system Higher security  Using SELinux (Security Enhanced Linux)

Linux Platform Operating Systems divided according to How many users can use the system (logon) at the same time The number of processors the system can run simultaneously Basic categories Single User / Single Processor (Windows 3.1, DOS) Single User / Multi Processor (Win NT Workstations, OS/2) Multi User / Single Processor (Does it exist?) Multi User / Multi Processor (Linux, Windows NT Server) High resource utilization using multiplexing Uses Time Sharing High Throughput (Number of processes finished in a unit of time) Uses multi-programming – If the current processes is accessing I/O, the CPU can be assigned to another task Process  Executing the Program

Linux Platform A Linux shell, also called "the command line“ Provides the traditional user interface for the Linux operating system Contains standard commands for Unix Good learning tool to learn Unix! Basic Shells applications are BASH, Bourne Shell BASH is similar to Bourne Shell in Unix C Shell, tcsh (TENEX C Shell), scsh (Scheme Shell) Has list of various shells and their differences

Basic Security In Linux Without SELinux Domains are divided into Users and Group IDs The ROOT has absolute control With SELinux Domains are divided into Subjects and Objects Even with Superuser privilege access to some files and devices maybe denied Logon as ROOT

Linux Desktop Using the terminal commands is boring! X Window System or X provides standard mechanisms for displaying device- independent, bit-mapped graphics How the actual interface looks or feels depends on the GUI interface KDL (K-desktop Environment), GNOME (GNU Network Object Model Environment), etc.

The KDE Desktop (Fedora Core Choosing KDE at the Login Screen default GNOME Desktop

Kedit Text Editor The Kedit text editor is similar to Windows Notepad Note that the positioning of the icons is basically the same as Notepad

Ways to Get Linux Install Linux OS Terminal Emulator puTTY, Remote Linux Off-campus rlogin using VPN Serer and Viewer: Live CD e.g.,

Shell Prompt Most work is done at the shell prompt which is the command-line interface Remember root is / ls – list files ls /mnt/floppy to see contents of floppy cd – change directory cd /mnt/floppy mkdir – create a directory mkdir /mnt/floppy/test

Shell Prompt rmdir – remove a directory rmdir /mnt/floppy/test mv – move or rename a file mv /etc/ftpaccess /var/ftp/ftpaccess cp – copy a file cp var/ftp/ftpaccess /mnt/floppy locate – find a file locate ftpaccess kedit - start editing a file kedit /var/ftp/ftpaccess

Shell Types sh – Bourne shell csh – C shell ksh – Korn shell bash – Bourne Again (Bash) shell tcsh – TENEX C shell zsh – Z shell rc – rc shell es – es shell  csh and bash are the most common Shells can be changed by simply typing the name of the shell at the command prompt chsh (change shell)

Linux Directory Hierarchy

Let’s Get to Work…. Open a shell…. Type in the following and observe: w date man w (get more information on w command) whatis man whereis csh (lists the path) whoami hostname uname (linux) who (information about current user) Command + Options + Arguments

Let’s Get to Work…. Redirecting: Using > and >> e.g., cmd > filename Cmd | tee filename ls | tee filename Cmd > filename & tail –f filename Using utility program grep E.g., grep ACK filename man grep

Processor Jobs Jobs fg %n // %n is job number bg %n kill %n reboot halt

File System Permissions in Linux Permission type When used with filesWhen used with directories ReadRead a file or copy a fileList the contents of a directory WriteWrite to the file, including deleting the file Create files ExecuteExecute programs and shell scripts, which are text files containing Linux commands Modify the file permissions

Linux Permissions Permissions are set for user, group, and others Each permission is set with a single digit from 0 to 7 based on the combination of permissions read = 4 write = 2 execute = 1

Using chmod to Set Permissions CommandPermissions OwnerGroupOther chmod 755 myfile rwxr-x chmod 540 myfile r-xr----- chmod 744 myfile rwxr--

Finding Your IP Address Use “uname” Using grep command (or anything else) you can display the IP address and machine name

Some Basic Commands pwd cd /bin ls ls –l ls –l/more.win ls –a (show hidden files) mkdir myoffice mkdir /root/mydocuments rmdir office w date man w (get more information on w command) whatis man whereis tcsh (lists the path) whoami hostname uname (linux) who (information about current user) cat /etc/passwd more /etc/passwd touch badfile cp /etc/passwd mypasswd mv mypasswd yourpasswd mv –i sample Make sure you can do these!

Using mTools to read your floppy mTool comes with all distros Check the version: rpm –q mtools Typically will be mtools – Common commands mdir a: mmove mformat mcopy Check the mtool.conf less /etc/mtools.conf

Practice Read about chmod - Read about LINUX permissions (check the hyperlink)LINUX permissions Find install.log file Write a shell script and using grep command (or anything else) display the IP address and machine name (use uname) Create the following directories and files (/ is the root directory): / junks primarysecondary my_junk_file my_primary_file my_secondary.log

Assignment: Submit September 8: Write a shell script (called myshell) to perform the following: Remove all the new directories: junks, primary, secondary. Backup HOSTS file by creating HOSTS_BACK Display the IP address of your machine Create a new file called YOUR_IP_ADDRESS containing the IP address of your machine  thus, by doing a less YOUR_IP_ADDRESS we should get your IP address Change the permission on YOUR_IP_ADDRESS such that can only be viewed by the user and make sure it is readable only. Note: you should be able to run the script multiple times with no errors! (make sure you try running your program multiple times)

Linux Resources Useful Linux Related Fedora vs Mandrake vs Suse: Linux Distros Compared hp?id=70 hp?id=70

Multi-OS Environment Installing two different OS Two different partitions No access to each other Using an emulator E.g., WMware runs copies of the guest OS on the HD Host OS Guest OS VMWare VPC/ WINE Windows Linux WineWine - Windows apps running without Windows