Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet.

Similar presentations

Presentation on theme: "Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet."— Presentation transcript:

1 Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet

2 September 2003Bent Thomsen - FIT 1-22 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 September 2003Bent Thomsen - FIT 1-23 Unix Structure Hardware Kernel System Calls Programs

4 September 2003Bent Thomsen - FIT 1-24 Interacting with Unix Sometimes through a GUI interface

5 September 2003Bent Thomsen - FIT 1-25 OpenLook on Sun

6 September 2003Bent Thomsen - FIT 1-26 Common Desktop Environment

7 September 2003Bent Thomsen - FIT 1-27 MacOS X

8 September 2003Bent Thomsen - FIT 1-28 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 September 2003Bent Thomsen - FIT 1-29 Telnet

10 September 2003Bent Thomsen - FIT 1-210 SSH Secure Shell

11 September 2003Bent Thomsen - FIT 1-211 Getting started - login The login is the user’s 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 % $ [machine]>

12 September 2003Bent Thomsen - FIT 1-212 Example of login

13 September 2003Bent Thomsen - FIT 1-213 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 [prompt]>

14 September 2003Bent Thomsen - FIT 1-214 Two Basic Commands The most useful commands you’ll ever learn: –man (short for “manual”) –help They help you find information about other commands –man retrieves detailed information about –help lists useful commands

15 September 2003Bent Thomsen - FIT 1-215 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 [ ] displays info for –id [ ] displays info for Commands that change who you are: –su “switch user” to –login login as a different user

16 September 2003Bent Thomsen - FIT 1-216 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 you’re 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 September 2003Bent Thomsen - FIT 1-217 The File System

18 September 2003Bent Thomsen - FIT 1-218 Directories (cont’d) Handy directories to know ~ Your home directory.. The parent directory. The current directory Other important directories /bin /tmp

19 September 2003Bent Thomsen - FIT 1-219 Simple commands ls –LiSts the contents of specified files or directories (or the current directory if no files are specified) –Syntax: ls [ … ] –Example: ls backups pwd –Print Working Directory

20 September 2003Bent Thomsen - FIT 1-220 More commands cd –Change Directory (or your home directory if unspecified) –Syntax: cd –Examples: cd backups/unix-tutorial cd../class-notes mkdir –MaKe DIRectory –Syntax: mkdir –Example: mkdir backups class-notes

21 September 2003Bent Thomsen - FIT 1-221 More commands rm –ReMove –Syntax: rm [ ] –Example: rm class-notes.txt –Example: rm –ir backups rmdir –ReMove DIRectory, which must be empty –Syntax: rmdir –Example: rmdir backups class-notes

22 September 2003Bent Thomsen - FIT 1-222 Files (cont’d) cp –CoPies a file, preserving the original –Syntax: cp –Example: cp tutorial.txt tutorial.txt.bak mv –MoVes or renames a file, destroying the original –Syntax: mv –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 September 2003Bent Thomsen - FIT 1-223 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 September 2003Bent Thomsen - FIT 1-224 What You Can Do With Permissions PermissionFileDirectory r (read) Read a fileList files in … w (write) Write a fileCreate 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 September 2003Bent Thomsen - FIT 1-225 Changing Permissions The “change mode” command: chmod [,…] string of: u, g, o, a (user, group, other, all) one of +, -, = (gets, loses, equals) 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 u+rwx,go-w foobar chmod g=u,+t temp/ chmod u=rwx,g=rwxs,o= shared/

26 September 2003Bent Thomsen - FIT 1-226 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 September 2003Bent Thomsen - FIT 1-227 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 September 2003Bent Thomsen - FIT 1-228 Background Processes Listing jobs: –jobs lists background “jobs” and job #’s –ps lists processes and their process id (“pid”) –% 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 > ls-lR.out & Resuming a stopped job –In the foreground: fg [ ] –In the background: bg [ ]

29 September 2003Bent Thomsen - FIT 1-229 Killing Processes The “kill” command: kill [- ] Send to process The “killall” command: killall [- ] Send to all processes that start with Useful signals ( kill –l for the complete list): TERMthe default, “terminate”, kills things nicely KILLwill kill anything, but not nicely HUP“hangup”, used to reload configurations STOPstops (suspends) a running process

30 September 2003Bent Thomsen - FIT 1-230 Redirecting input and output Simple! > Example sort dirlist Note a file called dirlist will be created if it doesn’t exist Dirlist will be overwritten. >> appends

31 September 2003Bent Thomsen - FIT 1-231 Piping Piping is connecting programs together by using the output of one program as the input to the next. Syntax: | | … | 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 September 2003Bent Thomsen - FIT 1-232 Shell Shortcuts Tab completion –Type part of a file/directory name, hit, and the shell will finish as much of the name as it can –Works if you’re running tcsh or bash Command history –Don’t 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 September 2003Bent Thomsen - FIT 1-233 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 ( Dante ’s email program)

34 September 2003Bent Thomsen - FIT 1-234 Printing Printing: –Use lpr to print –Check the print queue with lpq –lprm to remove print jobs –For the above commands, you’ll need to specify the printer with –P

35 September 2003Bent Thomsen - FIT 1-235 Exiting Logout – leave the system Exit – leave the shell ^C interrupt ^D can log user off – often disabled

36 September 2003Bent Thomsen - FIT 1-236 Remember In Unix, you’re expected to know what you’re 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!

Download ppt "Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet."

Similar presentations

Ads by Google