1 / 39

Introduction to Unix

Introduction to Unix. Bent Thomsen Institut for Datalogi Aalborg Universitet. 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

gay-sears
Download Presentation

Introduction to Unix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Bent Thomsen - FIT 1-2

  3. Programs Kernel System Calls Hardware Unix Structure Bent Thomsen - FIT 1-2

  4. Interacting with Unix • Sometimes through a GUI interface Bent Thomsen - FIT 1-2

  5. OpenLook on Sun Bent Thomsen - FIT 1-2

  6. Common Desktop Environment Bent Thomsen - FIT 1-2

  7. MacOS X Bent Thomsen - FIT 1-2

  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 Bent Thomsen - FIT 1-2

  9. Telnet Bent Thomsen - FIT 1-2

  10. SSH Secure Shell Bent Thomsen - FIT 1-2

  11. 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]> Bent Thomsen - FIT 1-2

  12. Example of login Bent Thomsen - FIT 1-2

  13. Password - Do • Make sure nobody is looking over your shoulder when you type your password • Change your password often • Choose a password you can remember • Use eight characters or more, some numeric, some not letters, i.e. # ! ( ] … Bent Thomsen - FIT 1-2

  14. Password – Don’t • Use a word (or words) in any language • Use a proper name • Use information in your wallet • Use information commonly known about you • Use control characters • Write your password anywhere • EVER give your password to anybody Bent Thomsen - FIT 1-2

  15. Passwords Your password is your account security: • Change your initial password immediately • Use the passwdcommand to change your password % passwd -where '%' is the prompt Changing password for bt Old password: -type in your oldpassword New password: -type in your new password Retype new password: -and again, to make sure % Bent Thomsen - FIT 1-2

  16. 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]> <command> <flags> <args> Bent Thomsen - FIT 1-2

  17. 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 <cmd> retrieves detailed information about <cmd> • help lists useful commands Bent Thomsen - FIT 1-2

  18. Who am I? • Commands that tell you who you are: • whoamidisplays your username • iddisplays your username and groups • Commands that tell you who others are: • finger [<name>]displays info for <name> • id [<username>]displays info for <username> • Commands that change who you are: • su <username>“switch user” to <username> • login login as a different user Bent Thomsen - FIT 1-2

  19. 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 Bent Thomsen - FIT 1-2

  20. The File System Bent Thomsen - FIT 1-2

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

  22. Simple commands • ls • LiSts the contents of specified files or directories (or the current directory if no files are specified) • Syntax: ls [<file> … ] • Example: ls backups • pwd • Print Working Directory Bent Thomsen - FIT 1-2

  23. More commands • cd • Change Directory (or your home directory if unspecified) • Syntax: cd <directory> • Examples: • cd backups/unix-tutorial • cd ../class-notes • mkdir • MaKe DIRectory • Syntax: mkdir <directories> • Example: mkdir backups class-notes Bent Thomsen - FIT 1-2

  24. More commands • rm • ReMove • Syntax: rm [<options>] <files> • Example: rm class-notes.txt • Example: rm –ir backups • rmdir • ReMove DIRectory, which must be empty • Syntax: rmdir <directories> • Example: rmdir backups class-notes Bent Thomsen - FIT 1-2

  25. Files (cont’d) • cp • CoPies a file, preserving the original • Syntax: cp <sources> <destination> • Example: cp tutorial.txt tutorial.txt.bak • mv • MoVes or renames a file, destroying the original • Syntax: mv <sources> <destination> • 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! Bent Thomsen - FIT 1-2

  26. 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) Bent Thomsen - FIT 1-2

  27. What You Can Do With Permissions Bent Thomsen - FIT 1-2

  28. Changing Permissions • The “change mode” command: chmod <level><op><permissions>[,…] <filename> <level> string of: u, g, o, a (user, group, other, all) <op> one of +, -, = (gets, loses, equals) <permissions> 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/ Bent Thomsen - FIT 1-2

  29. 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 … Bent Thomsen - FIT 1-2

  30. 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 Bent Thomsen - FIT 1-2

  31. Background Processes • Listing jobs: • jobslists background “jobs” and job #’s • ps lists processes and their process id (“pid”) • %<job#>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 [<pid>] • In the background: bg [<pid>] Bent Thomsen - FIT 1-2

  32. Killing Processes • The “kill” command: kill [-<signal>] <pid> Send <signal>to process <pid> • The “killall” command: killall [-<signal>] <command> Send <signal>to all processes that start with <command> • Useful signals (kill –lfor 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 Bent Thomsen - FIT 1-2

  33. Redirecting input and output • Simple!<program> < <FILE> <program> > <FILE> • Examplesort < my_grades.txtls > dirlist Note a file called dirlist will be created if it doesn’t exist Dirlist will be overwritten. >> appends Bent Thomsen - FIT 1-2

  34. Piping • Piping is connecting programs together by using the output of one program as the input to the next. • Syntax:<program1> | <program2> | … | <programN> • 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. Bent Thomsen - FIT 1-2

  35. Shell Shortcuts • Tab completion • Type part of a file/directory name, hit <tab>, 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 Bent Thomsen - FIT 1-2

  36. 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) Bent Thomsen - FIT 1-2

  37. 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<printer name> Bent Thomsen - FIT 1-2

  38. Exiting • Logout – leave the system • Exit – leave the shell • ^C interrupt • ^D can log user off – often disabled Bent Thomsen - FIT 1-2

  39. 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! Bent Thomsen - FIT 1-2

More Related