xuan guo chapter 2 unix utilities for non-programmers graham glass and king ables, unix for...
TRANSCRIPT
![Page 1: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/1.jpg)
Xuan Guo CSc 3320 1
Chapter 2 Unix Utilities for non-programmers
Graham Glass and King Ables, UNIX for Programmers and Users,
Third Edition, Pearson Prentice Hall, 2003.
Original Notes by Raj SunderramanConverted to presentation and updated
byXuan Guo
![Page 2: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/2.jpg)
Xuan Guo CSc 3320 2
Getting Started
• Obtain an account -OR- install Linux • Logging in
– locally: enter username and password– remotely: use the ssh/telnet utility to sign on to
• Upon logging on you will see a prompt (usually $ or %) which is displayed by a special kind of program called a SHELL program.
• To set your password, use passwd
![Page 3: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/3.jpg)
Xuan Guo CSc 3320 3
Shells
• Popular shells: – Bourne Shell– Korn Shell– C Shell– Bash (Bourne Again SHell)
• All have common core functionality; some differences.
• Each shell has its own programming language. (Shell programming).
![Page 4: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/4.jpg)
Xuan Guo CSc 3320 4
Running Utilities
• To run a utility, simply type the name of the utility after the prompt.
• Some utilities: date, man, clear, stty, passwd– Utility: date [yymmddhhmm[.ss]]– Utility: clear– Utility: man [-s section] word– man -k keyword
• To logout, enter CTRL-D (or exit)
![Page 5: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/5.jpg)
Xuan Guo CSc 3320 5
Special Characters
• list meta characters with stty -a command• ^ means control• ^C means hold down control key (CTRL) and
press the C key
![Page 6: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/6.jpg)
Xuan Guo CSc 3320 6
Special Characters
• erase: CTRL-H erase character before cursor
• werase: CTRL-W erase word before cursor
• kill: CTRL-U erase entire line
• To test these:
– type some input like “one two three four” at the terminal prompt
– move cursor around
– try the above characters
![Page 7: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/7.jpg)
Xuan Guo CSc 3320 7
Special Characters
• intr: CTRL-C interrupt running program
• susp: CTRL-Z suspend running program
• stop: CTRL-S/CTRL-Q stop printing to screen
• eof: CTRL-D give program end of file
• To test these:
– Try a command like find *
– For eof, try cat > testfile then CTRL-D on new line
![Page 8: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/8.jpg)
Xuan Guo CSc 3320 8
Some common UNIX utilities
• pwd• cat (like concatenate), more, head, tail• ls, cd• mv, cp, rm• mkdir, rmdir• file (determine file type), wc (word count)• vi• chmod
![Page 9: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/9.jpg)
Xuan Guo CSc 3320 9
Example of cat
$ cat > letterHi Mom,
Please send me money!
David^D
$ ls -l letter-rw-r--r--. 1 GSUAD\xguo9 GSUAD\domain^users 38 Jun 5 16:08 letter
![Page 10: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/10.jpg)
Xuan Guo CSc 3320 10
List Files (ls)
• $ ls -algFsdR <file-spec>• options
– a: hidden files– l: long listing– g: group– F: put character after file name indicating
executable*, link@, directory/, socket=– s: num. disk blocks– d: dir details not contents– R: recursive listing
![Page 11: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/11.jpg)
Xuan Guo CSc 3320 11
Show File Contents (cat, more)
• $ cat <file-spec-list>– list contents of file(s) on screen without pause
• $ more <file-spec-list>– same as cat; pauses after each screen -more-– space bar takes you to next screen;– q quit – enter shows next line– h help key for more commands
![Page 12: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/12.jpg)
Xuan Guo CSc 3320 12
Show File Contents (head, tail)
• $ head -n <file-spec> – display n lines from front of file
• $ tail -n <file-spec>– display n lines from end of file
![Page 13: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/13.jpg)
Xuan Guo CSc 3320 13
Working with Directories
• $ mkdir <dname>– make a new directory
• $ cd <dir>– built-in to shell– changes shell to a different directory
• $ pwd– print working directory
![Page 14: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/14.jpg)
Xuan Guo CSc 3320 14
Rename Files (mv)
• rename files (simply change labels in the file hierarchy)
• $ mv -i <old> <new>– i for inquire – (prompt if <new> already exists)
• $ mv -i <file-spec> <dir>• $ mv -i <dir> <dir>
![Page 15: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/15.jpg)
Xuan Guo CSc 3320 15
Copy Files (cp)
• $ cp -i <old> <new>– i for inquire – (prompt if <new> already exists)
• $ cp -i <file-spec> <dir>• $ cp -ir <file-spec> <dir>
– r for recursive
![Page 16: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/16.jpg)
Xuan Guo CSc 3320 16
Removing Files (rm, rmdir)
• remove (delete) file• $ rm -fir <file-spec>
– f: force; inhibits all prompts/messages– i: inquire– r: recursive
• Be careful! This is a permanent deletion!• remove (delete) directory• $ rmdir <dir>
![Page 17: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/17.jpg)
Xuan Guo CSc 3320 17
File Attributes
• -rw-r--r-- 1 mweeks mweeks 3662 2007-08-20 16:19 ab.tex
– -rw-r--r-- : file type (first char), permissions • file type (- regular, d dir, b buffered file disk drive,
c unbuffered file terminal, l link, p pipe, s socket)
– 1 : hard link count– mweeks : file owner– mweeks : file's group– 3662 : file size in bytes– 2007-08-20 : file modification date– ab.tex : file name
![Page 18: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/18.jpg)
Xuan Guo CSc 3320 18
File Type
• $ file <fname>• ascertains the type of file (ascii/binary etc.)• example:
– mweeks@carmaux:~$ file index.html• index.html: HTML document text
![Page 19: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/19.jpg)
Xuan Guo CSc 3320 19
File Type
example:
mweeks@carmaux:~$ file *
aout: ELF 32-bit LSB executable, Intel 80386,
version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses
shared libs), for GNU/Linux 2.2.0, not stripped
csc3320: directory
designwave.tex: ASCII English text
example.cc: ASCII C program text
submit.sh: C shell script text executable
![Page 20: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/20.jpg)
Xuan Guo CSc 3320 20
Change File Permissions
• change file mode; u,g,o,a r,w,x,s – user, group, other, all– read, write, execute, (set)– plus (+) adds permissions – minus (-) subtracts
• Also allows octal numbers
![Page 21: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/21.jpg)
Xuan Guo CSc 3320 21
Change File Permissions
• Examples– $ chmod -R XXX <file-spec>– $ chmod -R g+w <file-spec> – $ chmod -R u-rw <file-spec>– $ chmod -R u+w, g-r <file-spec>
![Page 22: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/22.jpg)
Xuan Guo CSc 3320 22
Change File Permissions
• Example with octal numbers– mweeks@carmaux:~$ ls -l example.txt– -rw-r--r-- 1 mweeks mweeks 51 2007-08-23 16:06 example.txt– mweeks@carmaux:~$ chmod 765 example.txt– mweeks@carmaux:~$ ls -l example.txt– -rwxrw-r-x 1 mweeks mweeks 51 2007-08-23 16:06 example.txt
• Notice:– 7 = 111 (binary) r “on”, w “on”, x “on”– 6 = 110 (binary) r “on”, w “on”, x “off”– 5 = 101 (binary) r “on”, w “off”, x “on”
![Page 23: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/23.jpg)
Xuan Guo CSc 3320 23
Change File Owner
• change owner of file – $ chown <new-owner> <file-spec>
• only super user can do this
![Page 24: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/24.jpg)
Xuan Guo CSc 3320 24
The vi Editor
• visual text editor• Very common on Unix systems• Created by Bill Joy in 1976• Many versions exist, including vim
– vi improved
![Page 25: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/25.jpg)
Xuan Guo CSc 3320 25
The vi Editor
• Command mode vs Text Entry Mode– To enter text entry mode use the following
commands:• i,I,a,A,o,O,R
– to get back to command mode use ESC• http://www.lagmonster.org/docs/vi.html
![Page 26: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/26.jpg)
Xuan Guo CSc 3320 26
The vi Editor
• Cursor Movement:– up arrow k– down arrow j– left arrow h– right arrow l– beginning of line 0– first non-whitespace char in line ^– end of line $
![Page 27: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/27.jpg)
Xuan Guo CSc 3320 27
The vi Editor
• Cursor Movement:– next word w– previous word (back) b
• Goto line number nn– :nn
• Go to last line– :$
![Page 28: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/28.jpg)
Xuan Guo CSc 3320 28
The vi Editor
• CTRL-D (down half screen) • CTRL-U (up half screen) • CTRL-F (forward one screen) • CTRL-B (back one screen)
![Page 29: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/29.jpg)
Xuan Guo CSc 3320 29
The vi Editor
• Deleting Text:– delete character under cursor x– delete word dw– delete line dd (also D)– delete many lines :<range>d
• Replacing text: – replace char under cursor r– replace word under cursor cw– replace entire line cc– substitute next 4 characters 4s
![Page 30: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/30.jpg)
Xuan Guo CSc 3320 30
The vi Editor
• Pasting text:– :<range>y (yank lines)– 5yy (yank 5 lines)– p– P– :nnp (after line nn)
![Page 31: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/31.jpg)
Xuan Guo CSc 3320 31
The vi Editor
• Searching:– search forward /sss/– search backward ?sss?– next n– next in opposite direction N
• Searching/Replacing:– :<range>s/sss/ttt/– :<range>s/sss/ttt/g
![Page 32: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/32.jpg)
Xuan Guo CSc 3320 32
The vi Editor
• Saving/Loading:– write to file :w <fname>– write again :w– write :<range>w
<fname>– write and quit :wq– edit new file :e <fname>– read (insert) a file :r <fname>
![Page 33: Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall,](https://reader036.vdocuments.site/reader036/viewer/2022062423/56649d945503460f94a7baac/html5/thumbnails/33.jpg)
Xuan Guo CSc 3320 33
The vi Editor
• Misc– re-draw screen CTRL-L– execute a shell command :!comand
• Quitting:– quit :q– write and quit :wq– quit without writing :q!– exit and write if changed :x