Introduction to Unix - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to Unix

Description:

Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet Unix Philosophy Designed by programmers for programmers Toolbox approach Flexibility and ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 37
Provided by: csAauDk
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Unix


1
Introduction to Unix
  • Bent Thomsen
  • Institut for Datalogi
  • Aalborg Universitet

2
Unix Philosophy
  • Designed by programmers for programmers
  • Toolbox approach
  • Flexibility and freedom
  • Networked designed for server use
  • Multi-user / Multitasking
  • Conciseness
  • Everything is a file or a process
  • File system has places
  • Processes have life

3
Unix Structure
4
Interacting with Unix
  • Sometimes through a GUI interface

5
OpenLook on Sun
6
Common Desktop Environment
7
MacOS X
8
Interacting with Unix
  • But most likely through a shell
  • Xterm, telnet, Secure Shell
  • A shell is the command line interpreter
    (like the DOS or command prompt in
    Windows)
  • A shell is just another program
  • There are several shells (sh, csh, tcsh, bash )
  • A program or command
  • Interacts with the kernel
  • May be any of
  • Built-in shell command
  • Interpreted script
  • Compiled object code file

9
Telnet
10
SSH Secure Shell
11
Getting started - login
  • The login is the users unique name
  • Password is changeable
  • Only known to user, not to system staff
  • Except initial issued password
  • Unix is case sensitive
  • Login and password prompt
  • System messages you have new mail
  • The command prompt machinegt

12
Example of login
13
The command prompt
  • Commands are the way to do things in Unix
  • Commands are typed at the prompt
  • Commands, as everything else, are case sensitive
    in Unix
  • A command consists of a name, options (or flags)
    and sometimes arguments

promptgt ltcommandgt ltflagsgt ltargsgt
14
Two Basic Commands
  • The most useful commands youll ever learn
  • man (short for manual)
  • help
  • They help you find information about other
    commands
  • man ltcmdgt retrieves detailed information about
    ltcmdgt
  • help lists useful commands

15
Who am I?
  • Commands that tell you who you are
  • whoami displays your username
  • id displays your username and groups
  • Commands that tell you who others are
  • finger ltnamegt displays info for ltnamegt
  • id ltusernamegt displays info for ltusernamegt
  • Commands that change who you are
  • su ltusernamegt switch user to ltusernamegt
  • login login as a different user

16
Files and Directories
  • In Unix, files are grouped together in other
    files called directories, which are analogous to
    folders in Windows
  • Directory paths are separated by a forward slash
    /
  • Example /home/bt/FIT/docs
  • The hierarchical structure of directories (the
    directory tree) begins at a special directory
    called the root, or /
  • Absolute paths start at /
  • Example /home/bt/FIT/docs
  • Relative paths start in the current directory
  • Example FIT/docs (if youre currently in
    /home/bt)
  • Your home directory is where your personal files
    are located, and where you start when you log in.
  • Example /home/bt

17
The File System
18
Directories (contd)
  • Handy directories to know
  • Your home directory
  • .. The parent directory
  • . The current directory
  • Other important directories
  • /bin
  • /tmp

19
Simple commands
  • ls
  • LiSts the contents of specified files or
    directories (or the current directory if no files
    are specified)
  • Syntax ls ltfilegt
  • Example ls backups
  • pwd
  • Print Working Directory

20
More commands
  • cd
  • Change Directory (or your home directory if
    unspecified)
  • Syntax cd ltdirectorygt
  • Examples
  • cd backups/unix-tutorial
  • cd ../class-notes
  • mkdir
  • MaKe DIRectory
  • Syntax mkdir ltdirectoriesgt
  • Example mkdir backups class-notes

21
More commands
  • rm
  • ReMove
  • Syntax rm ltoptionsgt ltfilesgt
  • Example rm class-notes.txt
  • Example rm ir backups
  • rmdir
  • ReMove DIRectory, which must be empty
  • Syntax rmdir ltdirectoriesgt
  • Example rmdir backups class-notes

22
Files (contd)
  • cp
  • CoPies a file, preserving the original
  • Syntax cp ltsourcesgt ltdestinationgt
  • Example cp tutorial.txt tutorial.txt.bak
  • mv
  • MoVes or renames a file, destroying the original
  • Syntax mv ltsourcesgt ltdestinationgt
  • Examples
  • mv tutorial.txt tutorial.txt.bak
  • mv tutorial.txt tutorial-slides.ppt backups/

Note Both of these commands will over-write
existing files without warning you!
23
File Permissions
  • Every file has three access levels
  • user (the user owner of the file)
  • group (the group owner of the file)
  • other (everyone else)
  • At each level, there are three access types
  • read (looking at the contents)
  • write (altering the contents)
  • execute (executing the contents)

24
What You Can Do With Permissions
Permission File Directory
r (read) Read a file List files in
w (write) Write a file Create a file in Rename a file in Delete a file in
x (execute) Execute a file (eg shell script) Read a file in Write to a file in Execute a file/shell script in
25
Changing Permissions
  • The change mode command
  • chmod ltlevelgtltopgtltpermissionsgt, ltfilenamegt
  • ltlevelgt string of u, g, o, a (user, group,
    other, all)
  • ltopgt one of , -, (gets, loses, equals)
  • ltpermissionsgt string of r, w, x, s, t, u, g,
    o (read, write, execute, set-id, text, same
    as user, same as group, same as other),
  • Examples
  • chmod urwx,go-w foobar
  • chmod gu,t temp/
  • chmod urwx,grwxs,o shared/

26
Process Management
  • What can you do with it?
  • Start programs in the background
  • Run more than one program per terminal
  • Kill bad and/or crashing programs
  • Suspend programs mid-execution
  • List all jobs running in a shell
  • Move foreground jobs to the background
  • More

27
Three States of a Process
  • Foreground
  • Attached to keyboard
  • Outputs to the screen
  • Shell waits until the process ends
  • Background, running
  • Not attached to keyboard
  • Might output to the screen
  • Shell immediately gives you another prompt
  • Background, suspended
  • Paused mid-execution
  • Can be resumed in background or foreground

28
Background Processes
  • Listing jobs
  • jobs lists background jobs and job s
  • ps lists processes and their process id (pid)
  • ltjobgt expands to the process id of the job
  • Stopping foreground jobs
  • Press Z (Ctrl-Z) in the terminal window
  • Starting a process in the background
  • Append a character to the command line
  • Examples ls lR gt ls-lR.out
  • Resuming a stopped job
  • In the foreground fg ltpidgt
  • In the background bg ltpidgt

29
Killing Processes
  • The kill command
  • kill -ltsignalgt ltpidgt
  • Send ltsignalgt to process ltpidgt
  • The killall command
  • killall -ltsignalgt ltcommandgt
  • Send ltsignalgt to all processes that start with
    ltcommandgt
  • Useful signals (kill l for the complete list)
  • TERM the default, terminate, kills things
    nicely
  • KILL will kill anything, but not nicely
  • HUP hangup, used to reload configurations
  • STOP stops (suspends) a running process

30
Redirecting input and output
  • Simple!ltprogramgt lt ltFILEgt
  • ltprogramgt gt ltFILEgt
  • Examplesort lt my_grades.txtls gt dirlist

Note a file called dirlist will be created if it
doesnt exist Dirlist will be overwritten. gtgt
appends
31
Piping
  • Piping is connecting programs together by using
    the output of one program as the input to the
    next.
  • Syntaxltprogram1gt ltprogram2gt ltprogramNgt
  • A simple example (view a sorted file-listing a
    page at a time)ls sort less
  • By combining Unix utilities in a pipeline, you
    can build tools on-the-fly as you need them.

32
Shell Shortcuts
  • Tab completion
  • Type part of a file/directory name, hit lttabgt,
    and the shell will finish as much of the name as
    it can
  • Works if youre running tcsh or bash
  • Command history
  • Dont re-type previous commands use the
    up-arrow to access them
  • Wildcards
  • Special character(s) which can be expanded to
    match other file/directory names
  • Zero or more characters
  • ? Zero or one character
  • Examples
  • ls .txt
  • rm may-?-notes.txt

33
Editing Text
  • Which text editor is the best is a holy war.
    Pick one and get comfortable with it.
  • Three text editors you should be aware of
  • vi A lighter editor, used in programming
  • emacs A heavily-featured editor commonly used
    in programming
  • pico Comes with pine (Dantes email program)

34
Printing
  • Printing
  • Use lpr to print
  • Check the print queue with lpq
  • lprm to remove print jobs
  • For the above commands, youll need to specify
    the printer with Pltprinter namegt

35
Exiting
  • Logout leave the system
  • Exit leave the shell
  • C interrupt
  • D can log user off often disabled

36
Remember
  • In Unix, youre expected to know what youre
    doing.
  • Many commands will print a message only if
    something went wrong.
  • Most often there is no undo button
  • Make a backup copy if you are unsure
  • Some commands have interactive options
  • E.g. rm i
  • Unix can be hard to learn, but it is loads of fun
    to use when you know what you are doing!
Write a Comment
User Comments (0)
About PowerShow.com