1 / 33

System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007

System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007. Reference: chapter 1, The Unix Programming Environment, Kernighan & Pike, ISBN 0-13-937681-X Albert Lingelbach, Jr. alingelb@yahoo.com. History of Unix. Begun in 1969 at Bell Labs

fynn
Download Presentation

System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007

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. System AdministrationIntroduction to UnixSession 2 – Fri 02 Nov 2007 • Reference: • chapter 1, The Unix Programming Environment, Kernighan & Pike, ISBN 0-13-937681-X Albert Lingelbach, Jr.alingelb@yahoo.com

  2. History of Unix • Begun in 1969 at Bell Labs • Timesharing / MultiuserOne computer, many terminals • Programming • Typesetting • Group Communication

  3. Architecture • Kernel • Windowing System • Gnome • Shell • Programs

  4. The shell environment • tty (teletype) / terminal • text only • 24 lines, 80 columns • default shell: Bourne shell • to open a tty: right-click on desktop, choose “Open Terminal” • echo • print text to the tty • try: echo Hello • what shell is running ?echo $0

  5. Simple commands • bash • compatible with sh, added features: • command history with up arrow • editable command line • backspace (vs. delete)‏ • date • system date and time • who • what users are on the system

  6. Flow Control characters • ctrl-C • stop a running command • try: troff • ctrl-S / ctrl-Q • pause/unpause output • try: countdown 1000 • end input • ctrl-D

  7. Command Arguments / Parameters • mis-typed command • gold: not found • command arguments / parameters • try: who am i • try: gold coins

  8. User Communication • news • get local system news (written by the system administrator)‏ • try: news • write • write messages to another user on the system; like IM but local • try: • pair off • using who, find userid of your partner • write userid(and your partner does same)exchange messages

  9. Manual Pages • You have seen the following commands: • date • who • news • write • sh • bash • How to find more about them ? • command -?often returns a short command synopsis • mancommandreturns the complete manual page reference for the command

  10. Files • As in any computer system, data is stored in files • Most Unix files are (ASCII) text • Many Unix commands manipulate text files

  11. File Naming • case sensitive • spaces are problematic • dot and underscore are useful separators

  12. File Commands – 1 • current (“working”) directory • pwd • print the working directory • ls • list the files in the working directory • cdpath • change the working directory

  13. File Paths 1 • filenames without a path default to the current directory • example: myfile.txt • / is the root or top of the file system tree • a file path contains directories separated by “/”(not “\” as in DOS/windows)‏ • example: /home/export/staff/alingelb/file.txt

  14. File Paths 2 • relative paths (not starting with “/”) start at the current directory • current directory (.)‏ • parent directory (..)‏ • relative to any preceding directory • examples: • ./file.txt(the same as file.txt)‏ • ../../student/kate/file.txt • in general, any command that takes a file as an argument, will accept a path + file (path/file)‏

  15. File Commands - 2 • touchfilename • create an empty file • example: touchmyfile.txt • rmfilename • delete a file (forever – be careful!)‏ • example: rmmyfile.txt • cporiginal_file new_file • copy a file • example: cpmyfile.txt copy_of_myfile.txt

  16. File Commands - 3 • mvoriginal_file new_filename • mvoriginal_file new_location • new_location must already exist • file keeps same name • mv original_file new_location/new_filename • move a file • examples: mv myfile.txt newname.txtmv myfile.txt ..mv myfile.txt /usr/bin/students.txt

  17. File Commands - 4 • catfile • catfile1 file2 ... • display the contents of the file(s) on the screen • morefile • display the contents of the file on the screen, on screenful at a time (press space for the next screen, return to advance one line)‏ • geditfile • edit the file in the gnome graphical editor

  18. Directory Commands • mkdirdirname • mkdirpath/dirname • create the directory • rmdirdirname • remove the directory (it must be empty)‏

  19. Shell filename wildcards 1 • it can be useful to match filenames by pattern: • * matches any set of characters (or no characters)‏ • ? matches one character • examples: • *file*matches any filename containing “file” • *.txtmatches any filename that ends in “.txt” • this*matches any filename that starts with “this”

  20. Shell filename 2 wildcards • More examples:

  21. Shell filename wildcards 3 • More examples: • cat chapter*.txtwill output to the screen all files that start in chapter and end in .txt • ls *.txtwill list all files that end in .txt • mv *.txt /export/home/alingelbwill move all files ending in .txt to the directory /export/home/alingelb

  22. More useful (text) file commands 1 • greppattern filesearch for the pattern in the file, and output the line(s) containing the pattern • sortfilesort the lines of the file in alphabetical order • headfiledisplay the first 10 lines of the file

  23. More useful (text) file commands 2 • tailfiledisplay the last 10 lines of the file • wcfilecount the number of lines, words, and characters in the file • difffile1file2display the differences between the two files

  24. File permissions 1 • Every file has read, write, and execute permissions (RWX)‏ • These are set by the owner, for the owner, the group, and everyone else; so there are 9 permissions total (plus a few special ones to be discussed later).

  25. File permissions 2 • ls -lwill display file permissions, along with the group and owner • example:$ ls -ltotal 3-rwxr-xr-x 2 alingelb staff 512 Nov 2 10:38 Desktopdrwxr-xr-x 3 alingelb staff 512 Oct 16 11:15 Documents-rw------- 1 alingelb staff 40 Nov 2 12:13 foonly.txt

  26. File permissions 3 • chmod### fileis used to change file permissions • the first # is owner permissions • the second # is group permissions • the third # is everyone else permissions • the # is composed of(add the numbers): • 4 for read • 2 for write • 1 for execute

  27. File permissions 4 • chmod example: • chmod 744 file • sets owner to read/write/execute • sets group to read • sets everyone else to read

  28. Shell theory • The shell is a command interpreter • It interfaces between the user and programs and the kernel • It has its own syntax • In addition to providing access to programs and to the kernel, the shell has some powerful features of its own, including • wildcards • I/O redirection • scripting

  29. I/O management 1 • Every process has 3 channels of information: • “standard” input • “standard” output • error output • These can be controlled by the shell: • command > file • sends the standard output of the command to a file • command < file • sends the contents of a file to the standard input of the command • command >> file • appends the standard output of the command to the end of a file

  30. std I/O management • Examples • ls > listing.txt • echo “this is a test” > test.txt • echo “the test continues” >> test.txt • echo “6 + 6” > math.txt • bc < math.txt

  31. more I/O management • More I/O redirection • There is a special empty file/dev/null • it discards all output • command 2> /dev/null • discards all error output • example:touch testfilechmod 000 testfilecat testfile 2> /dev/null • command1 | command2 • send the output of command1 as the input of command 2 • example: ls | wc

  32. I/O management: pipe • Advanced example of pipe • wanted: list of users on system. build it incrementally using pipe. • whogives list of users, but there are duplicates (because user appears once for each session);also, who gives too much information • using cut to remove extraneous information:who | cut -d\ -f1gives list of users, still with duplicates • who | cut -d\ -f1 | sortsorts list, putting duplicates together • who | cut -d\ -f1 | sort | uniqremoves duplicates; this is the desired list

  33. Review • Concepts • Unix history, multiuser/timesharing, kernel, shell, man pages, file permissions • Flow control • ctrl-C, ctrl-S, ctrl-Q, ctrl-D • Commands: • echo, bash, date, who, pwd, ls, cd, touch, rm, cp, mv, cat, more, gedit, mkdir, rmdir, grep, sort, head, tail, wc, diff, chmod, bc • File paths & wildcards • *, ? • I/O management • >, >>, <, |, 2>

More Related