Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for...

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, 2003. Original Notes by Raj Sunderraman Converted to presentation and updated by Xuan Guo CSc 3320 1

Transcript of Xuan Guo Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for...

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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