(a) About Unix. History

Size: px
Start display at page:

Download "(a) About Unix. History"

Transcription

1 Part 1: The Unix Operating System (a) About Unix History First roots in the Bell Laboratories, early 60s Kernel rewrite in C by Ritchie / Thompson in the early 70s Source code licenses for Universities from 1974 on Different Unix development trees leading to Dialects University of California, Berkeley: BSD Unix family AT&T/Bell, IBM, Digital etc.: System-V Unix family Properties Preemptive multi tasking Full multiuser-support Uses IP as native network protocol Many typical Internet services integrated ( , FTP etc.) Large number of supported hardware architectures High reliability and maintainability Full support for remote administration Complicated due to large number of commands Most Unixes are already fully 64bit Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 2

2 Part 1: The Unix Operating System About Unix Unix Systems System-V: SUN Solaris, IBM AIX, DEC Unix, SCO Unix, IRIX BSD: FreeBSD, NetBSD Unix-Clones: Minix, Linux Present Time Server for the Internet and intranet (e.g. mail, web, ftp) Number Crunching for science (e.g. climate models) High end graphics (e.g. rendering of movie scenes) Future? User desktop due to increasing number of end user applications (e.g. office, graphics) triggered by popularity of Linux Recent Posix standard proposes Real Time abilities Herbert Martin Dietze 3

3 Part 1: The Unix Operating System About Unix The Unix File System / (root directory) +-> bin/ (basic programs) +-> lib/ (basic system libraries) +-> sbin/ (basic system programs) +-> dev/ (devices) +-> etc/ (system-wide configuration) +-> home/ (users home directories) +-> herbert/ (user herbert s home) +-> tmp/ (temporary files) +-> usr/ (programs and subsystems) +-> X11/ (X11-GUI subsystem) +-> bin/ (like /usr/bin/) +-> lib/ (...) +-> bin/ (application programs) +-> include/ (C/C++ header files) +-> sbin/ (system programs) +-> local/ (manually installed tree) +-> bin/ (like /usr/bin/) +-> lib/ (...) +-> var/ (variable / writable tree) +-> tmp/ (temporary files) +-> spool/ (printjobs spooling) +-> log/ (log files) These are common to most Unix systems, however this is only a subset of the typically installed directories. Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 4

4 Part 1: The Unix Operating System About Unix File Types Unix knows these file types using the abbrevations below: - Regular files that may contan program code or data d Directories that may contain any number of other files l Symbolic links are references to other files p Named Pipes are communication channels for programs c Character devices like e.g. serial or parallel ports b Block devices like e.g. hard disks or floppies Devices All devices (e.g. hard disks or sound card) are represented as files in the /dev directory Operations on devices are therefore file operations Typically devices are either block or character devices Example, play a sound file (cp copies files): $ cp /usr/share/sounds/au/english.au /dev/audio Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 5

5 Part 1: The Unix Operating System About Unix Disks and Partitions The hard disks can be found in the /dev directory The first ide hard disk is /dev/hda 1 For partitioned disks, every partition is a separate file, e.g. /dev/hda1, /dev/hda2,... The file system consists of hard disk partitions mounted into the directory tree no drive letters! A mounted partition appears in the tree as a directory During system startup partitions get mounted automatically Removable media (e.g. CDs) must be mounted before usage 1 Naming conventions differ, here we use Linux notation. Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 6

6 Part 1: The Unix Operating System (b) The Unix Shell Background Unix predated the GUI by 15 years No graphics, only text Interface to the operating system is a command line User types in a command, and it gets executed Access via a (serial) ASCII terminal, through a network, or through a terminal emulator (e.g. xterm) The Shell is the interpreter, not the terminal Example herbert@paulina: ~/ $ who herbert :0 Dec 29 18:04 (console) herbert pts/1 Dec 29 18:10 (:0.0) herbert@paulina: ~/ $ _ Shell Features Can handle interactive input and shell scripts Shell scripts are text files containing shell commands Shell Syntax provides programming language constructs Most commands are external programs called by the shell Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 7

7 Different Shells Different Shells use different syntaxes, commands are always the same but the external The Bourne Shell (/bin/sh) is the standard on commercial Unixes rather limited functionality The Korn Shell (/bin/ksh) is an enhanced Bourne Shell better interactive features (e.g. command history) The C Shell (/bin/csh) uses a C-like command syntax and provides similar enhancements like the Korn Shell The Bourne Again Shell (/bin/bash) is the standard on Linux combines the best of the above (e.g. command history) External Commands / Programs When calling a program the shell creates a new process It then (normally) waits for the process to finish Some External Commands pwd print current working directory date print date and time who who is logged in ps process status echo echo arguments to console ls list files Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 8

8 Simple Commands $ pwd /home/herbert $ date Sat Dec 29 19:01:46 CET 2001 $ ls Makefile slides.aux unix.aux auto slides.dvi unix.tex programming.tex slides.tex herbert@paulina: ~/ $ ps PID TTY TIME CMD 584 pts/1 00:00:00 bash 652 pts/1 00:00:00 ps Commands with Arguments herbert@paulina: ~/ $ echo hello world hello world herbert@paulina: /home/hugo/ $ ls -a. programming.aux slides.idx slides.tex.. programming.tex slides.ilg texput.log Makefile slides.aux slides.ind unix.aux auto slides.dvi slides.log unix.tex Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 9

9 The Online Manual The standard documentation format is man (manual pages) The man command opens the manual for a given item, e.g. man ls opens the manual for the ls command Reading a Manual Page The pages are displayed in a Pager program The pager allows pagewise moving up- and downwards through a file and searching Traditional Unixes use more, the less command on Linux is more powerful Keyboard Shortcuts Supported by less Page down: PgDown or C-f Page up: PgUp or C-b Move linewards: The cursor keys or j / k Search forwards: / Search backwards:? Pager online help: h, sometimes? Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 10

10 A Manual Page for a Fictional Command FOO(1) NAME foo do a bar SYNOPSIS foo [-l] [--long] [-v] [--verbose] infile [-o outfile] [--outfile=outfile] DESCRIPTION This manual page documents the foo command. The foo command bars infile writing the output to standard output. Alternatively, an outfile can be specified to redirect the output to a file. OPTIONS -l, --long Produce a longer output with each entry in its own line. -v, --verbose Verbose mode, produces status messages to standard error while processing. This is useful for debugging purposes. -o outfile Write the output to file outfile rather than to standard output. OUTPUT DECORATION The foo command honors the FOO COLOR environment variable. If set to one of the colors red, yellow, blue or green the output will be shown in it if supported by the terminal. SEE ALSO bar(1), foobar(1) BUGS It does not actually do anything. AUTHORS John H. Doe, Yoyodyne Inc. johndoe@yoyodyne.com Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 11

11 Manual Sections Manual documentation is provided for different things, like user and administration commands, APIs and configuration file formats: 1 User commands 2 System API (typically C library functions) 3 Subroutines (functions from other subsystems) 4 Devices 5 Configuration files 6 Games 7 Misc. stuff not matching the other categories 8 Commands for system administration n New features o Old features When opening the page the section can be selected: man 1 ls or on some other systems: man -s 1 ls This is useful if the same name matches more than one man page. Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 12

12 Typical Elements of Man Pages On top is the man page name and the section number NAME contains the items names and descriptions SYNOPSIS describes the command s formal syntax DESCRIPTION contains the actual documentation FILES is a list of relevant file names SEE ALSO is a list of other relevant man pages BUGS lists known problems if any Finding the Right Man Page The apropos command lists the man pages matching a keyword: herbert@paulina: ~/ $ apropos copy cp (1) - copy files and directories cpio (1) - copy files to and from archives... herbert@paulina: ~/ $ _ Short Summary The whatis command prints the summary given names: herbert@paulina: ~/ $ whatis cp cp (1) - copy files and directories herbert@paulina: ~/ $ _ Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 13

13 Some More Shell Commands These always operate on one or more files: cat list a file s contents cmp compare two files diff compare two files verbosely sort sort a file s lines tail print a file s last lines Examples: herbert@paulina: ~/ $ cat hello hello world herbert@paulina: ~/ $ cmp hello hello~ hello hello~ differ: char 6, line 1 herbert@paulina: ~/ $ diff hello hello~ 1c1 < hello world --- > hello herbert@paulina: ~/ $ sort hello hello world Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 14

14 Files Commands These commands are useful for managing files: cp copy files mv move / rename files rm remove files mkdir create directories rmdir remove empty directories Examples: herbert@paulina: ~/ $ ls bar foo foobar herbert@paulina: ~/ $ mv foobar hugo herbert@paulina: ~/ $ rm foo bar herbert@paulina: ~/ $ mkdir yum herbert@paulina: ~/ $ ls -l total 4 -rw-rw-r-- 1 herbert staff 12 Dec 30 18:55 hugo drwxrwxr-x 2 herbert staff 1024 Dec 30 18:58 yum herbert@paulina: ~/ $ mv hugo yum herbert@paulina: ~/ $ ls yum hugo herbert@paulina: ~/ $ rmdir yum rmdir: yum: Directory not empty herbert@paulina: ~/ $ rm yum/hugo herbert@paulina: ~/ $ rmdir yum Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 15

15 Shell Variables The shell lets users set and use variables A variable is created when a value is assigned to it: VARIABLE=value The assignment operator = must come immediately after the variable name Variable names are case sensitive For getting a variable s value the $ operator is used: echo $VARIABLE $VARIABLE means: Take the variable VARIABLE and replace the expression by its value Visibility of Variables Variable are normally visible within their processes Forked processes will not see them the variable needs to be exported first Example: $ VAR1=foo $ VAR2=bar $ export VAR2 $ sh $ echo $VAR1 $VAR2 bar Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 16

16 Important Variables A lot of system and application programs and the shell are configured by variables To see all defined variables, use set A list of important variables: PATH PS1 PAGER MANPATH A : -separated list of directories to search for executable programs The primary prompt, how the shell greets its users, minimal default is often $ The default pager program, used e.g. by man A : -separated list of directories to search for man pages Shell Initialization Login Session: All configuration files are read Simple Interactive Session: Only some are read Some configuration files for the Bash for login sessions: /etc/profile the system-wide init file, gets read first $HOME/.profile the user s init file, gets read second For non-login sessions: $HOME/.bashrc the user s init file Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 17

17 Wildcard expansion The shell interprets wildcard operators and expands them before executing the acutal command Example: ls a* lists files and directories starting with a If no matching file is found, no expansion takes place Wildcard operators: * matches any number (even none!) of any characters? matches exactly one character [abc] matches exactly one character out of a, b, c [a-z] matches exactly one out of all (lowercase) characters Example: $ ls foo bar $ echo * foo bar $ echo f* foo $ echo x* x* Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 18

18 Quoting Some characters have a special meaning, like $ or * To make the shell ignore these, they have to be quoted Three kinds of quoting: 1. A backslash quotes a single character, e.g. echo \* 2. Double quotes quote most characters in a string, e.g. echo "****", but not all, e.g. echo "$foobar" 3. Single quotes quote all that double quotes quote plus some more, e.g. echo * $foobar \ Quotes can be nested, e.g. echo say "hello" Example: Brain Damaged File Names $ ls *.doc Timetable Winter 2001.doc $ cat Timetable Winter 2001.doc cat: Timetable: No such file or directory cat: Winter: No such file or directory cat: 2001.doc: No such file or directory $ cat Timetable\ Winter\ 2001.doc 1>/dev/null $ cat Timetable\ Winter\ 2001.doc 1>/dev/null cat: Timetable\ Winter\ 2001.doc: No such file or directory $ cat Timetable Winter 2001.doc 1>/dev/null $ cat "Timetable Winter 2001.doc" 1>/dev/null Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 19

19 Standard Streams (Files) Every console program has three open streams: stdin, No 0 the standard input, usually associated with the keyboard stdout, No 1 the standard output, usually associated with the console stderr, No 2 the error output, usually associated with the console The numbers are the File Handles through which the shell itentifies the streams When forking a program the shell temporarily passes them on Redirecting Streams Send stdout to a file: $ echo hello world >hello Send stderr to the null device: $ ls /home/* 2>/dev/null Send stderr to stdout and the result to a file: $ ls /home/* >ls.out 2>&1 How can we write messages to stderr? Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 20

20 File Permissions Long output of the ls command: $ ls -l total 48 drwxr-xr-x 2 hugo staff 1024 Nov 9 15:41 CVS -rw-r--r-- 1 hugo staff Dec 4 19:22 x.pdf -rw-r--r-- 1 hugo staff 3163 Dec 4 19:22 x.tex $ _ The file permissions block contains four groups: 1. (one character) the file type (set by the system): - ordinary file d directory l symbolic link c character device b block device p pipe 2. (three characters) permissions for the file owner: - flag not set r read permission w write permission x execute (if directory: enter directory) permission 3. (three characters) permissions for the file s group 4. (three characters) permissions for the rest of the world Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 21

21 Setting File Permissions The chmod command controls file permissions $ chmod og-rwx x.pdf $ ls -l x.pdf -rw hugo staff Dec 4 19:22 x.pdf $ chmod +x x.pdf $ ls -l x.pdf -rwx--x--x 1 hugo staff Dec 4 19:22 x.pdf $ _ Setting File Group Members of more than one group can explicitly set the file group with chgrp: $ ls -l x.pdf -rwx--x--x 1 hugo staff Dec 4 19:22 x.pdf $ chgrp audio x.pdf $ ls -l x.pdf -rwx--x--x 1 hugo audio Dec 4 19:22 x.pdf $ _ Herbert Martin Dietze <herbert@the-little-red-haired-girl.org> 22

EECS2301. Lab 1 Winter 2016

EECS2301. Lab 1 Winter 2016 EECS2301 Lab 1 Winter 2016 Lab Objectives In this lab, you will be introduced to the Linux operating system. The basic commands will be presented in this lab. By the end of you alb, you will be asked to

More information

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

Outline. Structure of a UNIX command

Outline. Structure of a UNIX command Outline Structure of Unix Commands Command help (man) Log on (terminal vs. graphical) System information (utility) File and directory structure (path) Permission (owner, group, rwx) File and directory

More information

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze EECS 2031 Software Tools Prof. Mokhtar Aboelaze Footer Text 1 EECS 2031E Instructor: Mokhtar Aboelaze Room 2026 CSEB lastname@cse.yorku.ca x40607 Office hours TTH 12:00-3:00 or by appointment 1 Grading

More information

Unix Handouts. Shantanu N Kulkarni

Unix Handouts. Shantanu N Kulkarni Unix Handouts Shantanu N Kulkarni Abstract These handouts are meant to be used as a study aid during my class. They are neither complete nor sincerely accurate. The idea is that the participants should

More information

CS246 Spring14 Programming Paradigm Notes on Linux

CS246 Spring14 Programming Paradigm Notes on Linux 1 Unix History 1965: Researchers from Bell Labs and other organizations begin work on Multics, a state-of-the-art interactive, multi-user operating system. 1969: Bell Labs researchers, losing hope for

More information

Unix File System. Class Meeting 2. * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech

Unix File System. Class Meeting 2. * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech Unix File System Class Meeting 2 * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech Unix File System The file system is your interface to: physical

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester Linux Essentials Programming and Data Structures Lab M Tech CS First Year, First Semester Adapted from PDS Lab 2014 and 2015 Login, Logout, Password $ ssh mtc16xx@192.168.---.--- $ ssh X mtc16xx@192.168.---.---

More information

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples EECS2301 Title Unix/Linux Introduction These slides are based on slides by Prof. Wolfgang Stuerzlinger at York University Warning: These notes are not complete, it is a Skelton that will be modified/add-to

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Mukesh Pund Principal Scientist, NISCAIR, New Delhi, India History In 1969, a team of developers developed a new operating system called Unix which was written using C Linus Torvalds,

More information

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG *nix Crash Course Presented by: Virginia Tech Linux / Unix Users Group VTLUUG Ubuntu LiveCD No information on your hard-drive will be modified. Gives you a working Linux system without having to install

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29 UNIX The Very 10 Short Howto for beginners Soon-Hyung Yook March 27, 2015 Soon-Hyung Yook UNIX March 27, 2015 1 / 29 Table of Contents 1 History of Unix 2 What is UNIX? 3 What is Linux? 4 How does Unix

More information

Unix Introduction to UNIX

Unix Introduction to UNIX Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various

More information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-3. Introduction to Unix: Fundamental Commands Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system

More information

Unix Filesystem. January 26 th, 2004 Class Meeting 2

Unix Filesystem. January 26 th, 2004 Class Meeting 2 Unix Filesystem January 26 th, 2004 Class Meeting 2 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty at Virginia Tech Unix Filesystem! The filesystem is your interface

More information

Introduction to the Shell

Introduction to the Shell [Software Development] Introduction to the Shell Davide Balzarotti Eurecom Sophia Antipolis, France What a Linux Desktop Installation looks like What you need Few Words about the Graphic Interface Unlike

More information

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80 CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Stephen Pauwels Computer Systems Academic Year 2018-2019 Overview of the Semester UNIX Introductie Regular Expressions Scripting Data Representation Integers, Fixed point,

More information

Exploring UNIX: Session 3

Exploring UNIX: Session 3 Exploring UNIX: Session 3 UNIX file system permissions UNIX is a multi user operating system. This means several users can be logged in simultaneously. For obvious reasons UNIX makes sure users cannot

More information

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world.

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world. Lecture 3 Unix Question? Denmark is famous for? a. LEGO. b. The world s best restaurant. c. Being in the top three happiest countries in the world. d. Having the highest taxes in Europe (57%). e. All of

More information

The Online Unix Manual

The Online Unix Manual ACS-294-001 Unix (Winter Term, 2018-2019) Page 14 The Online Unix Manual Unix comes with a large, built-in manual that is accessible at any time from your terminal. The Online Manual is a collection of

More information

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories Chapter Two Exploring the UNIX File System and File Security Lesson A Understanding Files and Directories 2 Objectives Discuss and explain the UNIX file system Define a UNIX file system partition Use the

More information

CSCI 2132 Software Development. Lecture 4: Files and Directories

CSCI 2132 Software Development. Lecture 4: Files and Directories CSCI 2132 Software Development Lecture 4: Files and Directories Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 12-Sep-2018 (4) CSCI 2132 1 Previous Lecture Some hardware concepts

More information

Linux & Shell Programming 2014

Linux & Shell Programming 2014 Unit -1: Introduction to UNIX/LINUX Operating System Practical Practice Questions: Find errors (if any) otherwise write output or interpretation of following commands. (Consider default shell is bash shell.)

More information

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala Linux Training for New Users of Cluster Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala pakala@uga.edu 1 Overview GACRC Linux Operating System Shell, Filesystem, and Common

More information

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering ENG224 Information Technology Part I: Computers and the Internet Laboratory 2 Linux Shell Commands and vi Editor

More information

UNIX Kernel. UNIX History

UNIX Kernel. UNIX History UNIX History UNIX Kernel 1965-1969 Bell Labs participates in the Multics project. 1969 Ken Thomson develops the first UNIX version in assembly for an DEC PDP-7 1973 Dennis Ritchie helps to rewrite UNIX

More information

UNIX System Programming Lecture 3: BASH Programming

UNIX System Programming Lecture 3: BASH Programming UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide

More information

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book).

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book). Crash Course in Unix For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix -or- Unix in a Nutshell (an O Reilly book). 1 Unix Accounts To access a Unix system you need to have

More information

Overview of Unix / Linux operating systems

Overview of Unix / Linux operating systems Overview of Unix / Linux operating systems Mohammad S. Hasan Staffordshire University, UK Overview of Unix / Linux operating systems Slide 1 Lecture Outline History and development of Unix / Linux Early

More information

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Review of the Linux File System and Linux Commands 1. Introduction Becoming adept at using the Linux OS requires gaining familiarity

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Mills HPC Tutorial Series. Linux Basics I

Mills HPC Tutorial Series. Linux Basics I Mills HPC Tutorial Series Linux Basics I Objectives Command Line Window Anatomy Command Structure Command Examples Help Files and Directories Permissions Wildcards and Home (~) Redirection and Pipe Create

More information

Introduction to Linux

Introduction to Linux Introduction to Linux January 2011 Don Bahls User Consultant (Group Leader) bahls@arsc.edu (907) 450-8674 Overview The shell Common Commands File System Organization Permissions Environment Variables I/O

More information

CS4350 Unix Programming. Outline

CS4350 Unix Programming. Outline Outline Unix Management Files and file systems Structure of Unix Commands Command help (man) Log on (terminal vs. graphical) System information (utility) File and directory structure (path) Permission

More information

The UNIX Operating System. HORT Lecture 2 Instructor: Kranthi Varala

The UNIX Operating System. HORT Lecture 2 Instructor: Kranthi Varala The UNIX Operating System HORT 59000 Lecture 2 Instructor: Kranthi Varala Operating Systems Image By Golftheman - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4558519 Operating

More information

System Programming. Introduction to Unix

System Programming. Introduction to Unix Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 3 Introduction

More information

commandname flags arguments

commandname flags arguments Unix Review, additional Unix commands CS101, Mock Introduction This handout/lecture reviews some basic UNIX commands that you should know how to use. A more detailed description of this and other commands

More information

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information

CENG 334 Computer Networks. Laboratory I Linux Tutorial

CENG 334 Computer Networks. Laboratory I Linux Tutorial CENG 334 Computer Networks Laboratory I Linux Tutorial Contents 1. Logging In and Starting Session 2. Using Commands 1. Basic Commands 2. Working With Files and Directories 3. Permission Bits 3. Introduction

More information

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza Sommario Shell command language Introduction A

More information

Introduction of Linux

Introduction of Linux Introduction of Linux 阳 oslab2018_class1@163.com 寅 oslab2018_class2@163.com PART I Brief Introduction Basic Conceptions & Environment Install & Configure a Virtual Machine Basic Commands PART II Shell

More information

ScazLab. Linux Scripting. Core Skills That Every Roboticist Must Have. Alex Litoiu Thursday, November 14, 13

ScazLab. Linux Scripting. Core Skills That Every Roboticist Must Have. Alex Litoiu Thursday, November 14, 13 Linux Scripting Core Skills That Every Roboticist Must Have Alex Litoiu alex.litoiu@yale.edu 1 Scazlab Topics Covered Linux Intro - Basic Concepts Advanced Bash Scripting - Job scheduling - File system

More information

INTRODUCTION TO LINUX

INTRODUCTION TO LINUX INTRODUCTION TO LINUX REALLY SHORT HISTORY Before GNU/Linux there were DOS, MAC and UNIX. All systems were proprietary. The GNU project started in the early 80s by Richard Stallman Goal to make a free

More information

Unix System Architecture, File System, and Shell Commands

Unix System Architecture, File System, and Shell Commands Unix System Architecture, File System, and Shell Commands Prof. (Dr.) K.R. Chowdhary, Director COE Email: kr.chowdhary@iitj.ac.in webpage: http://www.krchowdhary.com JIET College of Engineering August

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

A Brief Introduction to Unix

A Brief Introduction to Unix A Brief Introduction to Unix Sean Barag Drexel University March 30, 2011 Sean Barag (Drexel University) CS 265 - A Brief Introduction to Unix March 30, 2011 1 / 17 Outline 1 Directories

More information

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm Operating Systems Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood

More information

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda Essential Unix and Linux! Perl for Bioinformatics, 140.636! F. Pineda Generic computer architecture Memory Storage Fig. 1.2 From Designing Embedded Hardware, 2 nd Ed. by John Catsoulis OS concepts Shell

More information

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen Introduction to Unix The Windows User perspective Wes Frisby Kyle Horne Todd Johansen What is Unix? Portable, multi-tasking, and multi-user operating system Software development environment Hardware independent

More information

Files and Directories

Files and Directories CSCI 2132: Software Development Files and Directories Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Files and Directories Much of the operation of Unix and programs running on

More information

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Esercitazione Introduzione al linguaggio di shell

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Esercitazione Introduzione al linguaggio di shell Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Esercitazione Introduzione al linguaggio di shell Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza

More information

The Unix Shell & Shell Scripts

The Unix Shell & Shell Scripts The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Introduction to UNIX Stephen Pauwels University of Antwerp October 2, 2015 Outline What is Unix? Getting started Streams Exercises UNIX Operating system Servers, desktops,

More information

CS 307: UNIX PROGRAMMING ENVIRONMENT FIND COMMAND

CS 307: UNIX PROGRAMMING ENVIRONMENT FIND COMMAND CS 307: UNIX PROGRAMMING ENVIRONMENT FIND COMMAND Prof. Michael J. Reale Fall 2014 Finding Files in a Directory Tree Suppose you want to find a file with a certain filename (or with a filename matching

More information

Std: XI CHAPTER-3 LINUX

Std: XI CHAPTER-3 LINUX Commands: General format: Command Option Argument Command: ls - Lists the contents of a file. Option: Begins with minus sign (-) ls a Lists including the hidden files. Argument refers to the name of a

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Introduction to Unix: Fundamental Commands

Introduction to Unix: Fundamental Commands Introduction to Unix: Fundamental Commands Ricky Patterson UVA Library Based on slides from Turgut Yilmaz Istanbul Teknik University 1 What We Will Learn The fundamental commands of the Unix operating

More information

Assignment clarifications

Assignment clarifications Assignment clarifications How many errors to print? at most 1 per token. Interpretation of white space in { } treat as a valid extension, involving white space characters. Assignment FAQs have been updated.

More information

5/20/2007. Touring Essential Programs

5/20/2007. Touring Essential Programs Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.

More information

Essential Linux Shell Commands

Essential Linux Shell Commands Essential Linux Shell Commands Special Characters Quoting and Escaping Change Directory Show Current Directory List Directory Contents Working with Files Working with Directories Special Characters There

More information

An Introduction to Unix Power Tools

An Introduction to Unix Power Tools An to Unix Power Tools Randolph Langley Department of Computer Science Florida State University August 27, 2008 History of Unix Unix Today Command line versus graphical interfaces to COP 4342, Fall History

More information

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

More information

Welcome to Linux. Lecture 1.1

Welcome to Linux. Lecture 1.1 Welcome to Linux Lecture 1.1 Some history 1969 - the Unix operating system by Ken Thompson and Dennis Ritchie Unix became widely adopted by academics and businesses 1977 - the Berkeley Software Distribution

More information

Chapter 1 - Introduction. September 8, 2016

Chapter 1 - Introduction. September 8, 2016 Chapter 1 - Introduction September 8, 2016 Introduction Overview of Linux/Unix Shells Commands: built-in, aliases, program invocations, alternation and iteration Finding more information: man, info Help

More information

Introduction to Unix

Introduction to Unix Introduction to Unix UVic SEng 265, Fall 2001 Daniel M. German Department of Computer Science University of Victoria 1 SEng 265 F2001 dmgerman@uvic.ca What is Unix Unix is: is a computer operating system.

More information

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018 EECS 470 Lab 5 Linux Shell Scripting Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 1 st February, 2018 (University of Michigan) Lab 5:

More information

Read the relevant material in Sobell! If you want to follow along with the examples that follow, and you do, open a Linux terminal.

Read the relevant material in Sobell! If you want to follow along with the examples that follow, and you do, open a Linux terminal. Warnings 1 First of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion. Read the relevant material in Sobell! If

More information

Introduction to Linux Part I: The Filesystem Luca Heltai

Introduction to Linux Part I: The Filesystem Luca Heltai The 2nd workshop on High Performance Computing Introduction to Linux Part I: The Filesystem Luca Heltai SISSA/eLAB - Trieste Adapted from a presentation by Michael Opdenacker Free Electrons http://free-electrons.com

More information

Course 144 Supplementary Materials. UNIX Fundamentals

Course 144 Supplementary Materials. UNIX Fundamentals Course 144 Supplementary Materials UNIX Fundamentals 1 Background to UNIX Command Fundamentals This appendix provides a overview of critical commands and concepts Prerequisite knowledge attendees should

More information

CISC 220 fall 2011, set 1: Linux basics

CISC 220 fall 2011, set 1: Linux basics CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week

More information

Lecture # 2 Introduction to UNIX (Part 2)

Lecture # 2 Introduction to UNIX (Part 2) CS390 UNIX Programming Spring 2009 Page 1 Lecture # 2 Introduction to UNIX (Part 2) UNIX is case sensitive (lowercase, lowercase, lowercase) Logging in (Terminal Method) Two basic techniques: 1. Network

More information

First of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion.

First of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion. Warnings 1 First of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion. Read the relevant material in Sobell! If

More information

Files

Files http://www.cs.fsu.edu/~langley/cop3353-2013-1/reveal.js-2013-02-11/02.html?print-pdf 02/11/2013 10:55 AM Files A normal "flat" file is a collection of information. It's usually stored somewhere reasonably

More information

CS395T: Introduction to Scientific and Technical Computing

CS395T: Introduction to Scientific and Technical Computing CS395T: Introduction to Scientific and Technical Computing Instructors: Dr. Karl W. Schulz, Research Associate, TACC Dr. Bill Barth, Research Associate, TACC Outline Continue with Unix overview File attributes

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming

More information

The UNIX Shells. Computer Center, CS, NCTU. How shell works. Unix shells. Fetch command Analyze Execute

The UNIX Shells. Computer Center, CS, NCTU. How shell works. Unix shells. Fetch command Analyze Execute Shells The UNIX Shells How shell works Fetch command Analyze Execute Unix shells Shell Originator System Name Prompt Bourne Shell S. R. Bourne /bin/sh $ Csh Bill Joy /bin/csh % Tcsh Ken Greer /bin/tcsh

More information

M2PGER FORTRAN programming. General introduction. Virginie DURAND and Jean VIRIEUX 10/13/2013 M2PGER - ALGORITHME SCIENTIFIQUE

M2PGER FORTRAN programming. General introduction. Virginie DURAND and Jean VIRIEUX 10/13/2013 M2PGER - ALGORITHME SCIENTIFIQUE M2PGER 2013-2014 FORTRAN programming General introduction Virginie DURAND and Jean VIRIEUX 1 Why learning programming??? 2 Why learning programming??? ACQUISITION numerical Recording on magnetic supports

More information

Introduction to Linux. Roman Cheplyaka

Introduction to Linux. Roman Cheplyaka Introduction to Linux Roman Cheplyaka Generic commands, files, directories What am I running? ngsuser@ubuntu:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu

More information

Lec 1 add-on: Linux Intro

Lec 1 add-on: Linux Intro Lec 1 add-on: Linux Intro Readings: - Unix Power Tools, Powers et al., O Reilly - Linux in a Nutshell, Siever et al., O Reilly Summary: - Linux File System - Users and Groups - Shell - Text Editors - Misc

More information

Processes. Shell Commands. a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms:

Processes. Shell Commands. a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms: Processes The Operating System, Shells, and Python Shell Commands a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms: - Command prompt - Shell - CLI Shell commands

More information

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS).

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS). Introduction Introduction to UNIX CSE 2031 Fall 2012 UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell programming.

More information

Introduction to UNIX. CSE 2031 Fall November 5, 2012

Introduction to UNIX. CSE 2031 Fall November 5, 2012 Introduction to UNIX CSE 2031 Fall 2012 November 5, 2012 Introduction UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Chapter 9. Shell and Kernel

Chapter 9. Shell and Kernel Chapter 9 Linux Shell 1 Shell and Kernel Shell and desktop enviroment provide user interface 2 1 Shell Shell is a Unix term for the interactive user interface with an operating system A shell usually implies

More information

No lectures on Monday!!

No lectures on Monday!! Important information Introduction to Unix Boris Konev B.Konev@csc.liv.ac.uk http://www.csc.liv.ac.uk/~konev Instructor: Boris Konev Office: 1.12 Email: B.Konev@csc.liv.ac.uk Web resources: www.csc.liv.ac.uk/~konev/comp110

More information

Shells. A shell is a command line interpreter that is the interface between the user and the OS. The shell:

Shells. A shell is a command line interpreter that is the interface between the user and the OS. The shell: Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed performs the actions Example:

More information

Introduction to UNIX. Introduction EECS l UNIX is an operating system (OS). l Our goals:

Introduction to UNIX. Introduction EECS l UNIX is an operating system (OS). l Our goals: Introduction to UNIX EECS 2031 13 November 2017 Introduction l UNIX is an operating system (OS). l Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell

More information

Shells and Shell Programming

Shells and Shell Programming Shells and Shell Programming 1 Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed

More information

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong Shell Prof. Jinkyu Jeong (Jinkyu@skku.edu) TA -- Minwoo Ahn (minwoo.ahn@csl.skku.edu) TA -- Donghyun Kim (donghyun.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

More information

System Administration

System Administration Süsteemihaldus MTAT.08.021 System Administration File system basics UNIX shell basics 1/23 2/23 3/23 4/23 5/23 6/23 System Root Mount points User Profiles /home /boot /dev/sda Boot loader files and Linux

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

CSC UNIX System, Spring 2015

CSC UNIX System, Spring 2015 CSC 352 - UNIX System, Spring 2015 Study guide for the CSC352 midterm exam (20% of grade). Dr. Dale E. Parson, http://faculty.kutztown.edu/parson We will have a midterm on March 19 on material we have

More information

UNIX File Hierarchy: Structure and Commands

UNIX File Hierarchy: Structure and Commands UNIX File Hierarchy: Structure and Commands The UNIX operating system organizes files into a tree structure with a root named by the character /. An example of the directory tree is shown below. / bin

More information

UNIX Concepts COMPSCI 386

UNIX Concepts COMPSCI 386 UNIX Concepts COMPSCI 386 Topics History of C and UNIX The GNU Project Linux Command-Line Basics UNIX-Style File System Multics Multiplexed Information and Computing Service Time-sharing system for mainframes

More information

Lab 2: Linux/Unix shell

Lab 2: Linux/Unix shell Lab 2: Linux/Unix shell Comp Sci 1585 Data Structures Lab: Tools for Computer Scientists Outline 1 2 3 4 5 6 7 What is a shell? What is a shell? login is a program that logs users in to a computer. When

More information

Linux Command Line Primer. By: Scott Marshall

Linux Command Line Primer. By: Scott Marshall Linux Command Line Primer By: Scott Marshall Draft: 10/21/2007 Table of Contents Topic Page(s) Preface 1 General Filesystem Background Information 2 General Filesystem Commands 2 Working with Files and

More information