Unix File System Stores Files Text, Programs, Images, etc. Made up of Many Files User, Unix System, Unix Commands 1 Unix File System Top most directory in Unix root usr Home Directory var home etc rdefe jsmith djones data mbox, letter, prog1, prog2 jan feb file1, file2, file3, file4 file1, file2, file3, file4 save lib mbox, jandat info Directory containing all home directories x1, x2, x3, x4 2 Unix File System Home Directory Personal Directory to store files Usually the Directory Name = login ID Current Directory after successful login root usr Home directories for: rdefe, jsmith and djones var home etc rdefe jsmith djones data mbox, letter, prog1, prog2 jan feb file1, file2, file3, file4 file1, file2, file3, file4 save lib mbox, jandat info x1, x2, x3, x4 3 Unix File System What Can You Do? Create New Files & Directories Organize Files Locate Files Based on a Directory Structure Change to a New Directory 4 Unix File System File & Directory Naming Guidelines Don’t Use Meta Characters / \ “ ` * ; ? { } ( ) [ ] ~ ! $ < > | & # Do Use a-z A-Z 0-9 . _ - Remember Unix is Case Sensitive! 5 Unix File System File & Directory Name Examples feb1998, 178987, my_data, my.data.new mbox, Mbox, mboX, MBOX, mBox prog1..2 .profile 6 Unix Commands ls List Files & Directories $ ls 198 A aa.bb.cc.dd bin datefile etc mail mbox mbox.old unix $ 7 Unix Commands ls -p -p Show Directories $ ls -p 198 A aa.bb.cc.dd bin/ datefile etc/ mail/ mbox mbox.old unix/ $ 8 Unix Commands ls [directory1] [directory2] ... List the contents of a directory $ ls -p 198 A aa.bb.cc.dd bin/ datefile etc/ mail/ mbox mbox.old unix/ $ $ ls unix awk.data awk.prg bgraph cpy homework2 homework3 unix2test $ 9 Unix Commands ls -s -s Show File Size in Blocks Block Sizes $ ls -s 512 bytes 1024 bytes 2048 bytes total 19 1 198 1A 1 aa.bb.cc.dd 1 bin 1 datefile 1 etc 1 mail 2 mbox 1 unix 10 Unix Commands ls -l -l Long Listing $ ls -l total 19 -rw-r--r--rw-r--r-drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x -rw------drwxr-xr-x $ 1 1 2 3 2 2 1 2 rdefe rdefe rdefe rdefe rdefe rdefe rdefe rdefe unix unix unix unix unix unix unix unix 53 62 96 80 64 32 984 144 Sep Sep Sep Aug Aug Sep Sep Aug 12 12 4 29 29 2 12 29 21:46 21:47 20:58 20:54 20:54 1992 21:44 20:54 198 A bin db etc mail mbox unix 11 Unix Commands ls -a -a List All Files Include Files That Begin with a ‘.’ Files that begin with a ‘.’ are usually configuration files $ ls -a . .. .profile .sh_history 198 A bin datefile db etc mbox unix $ 12 Unix Commands ls -r -r Reverse Sort ls -R -R List Contents of Subdirectories • List files in each subdirectory. • Subdirectories with Subdirectories will also be listed…and so on... $ ls -r unix mbox mail etc db datefile bin A 198 $ 13 Unix Commands ls -l -t or ls -lt -t Sort On Modification Time $ ls -lt total 19 -rw-r--r--rw-r--r--rw------drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x $ 1 1 1 2 2 2 3 2 rdefe rdefe rdefe rdefe rdefe rdefe rdefe rdefe unix unix unix unix unix unix unix unix 62 53 984 96 64 144 80 32 Sep Sep Sep Sep Aug Aug Aug Sep 12 12 12 4 29 29 29 2 21:47 21:46 21:44 20:58 20:54 20:54 20:54 1992 A 198 mbox bin etc unix db mail 14 Unix Commands or ls -l -t -r ls -ltr -tr Reverse Sort On Modification Time $ ls -ltr total 19 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x -rw-------rw-r--r--rw-r--r-$ 2 3 2 2 2 1 1 1 rdefe rdefe rdefe rdefe rdefe rdefe rdefe rdefe unix unix unix unix unix unix unix unix 32 80 144 64 96 984 53 62 Sep Aug Aug Aug Sep Sep Sep Sep 2 29 29 29 4 12 12 12 1992 20:54 20:54 20:54 20:58 21:44 21:46 21:47 mail db unix etc bin mbox 198 A 15 Unix Commands ls -[ltrRa] [Filename1] [Filename2] … UnixCommand Options Arguments $ ls -lt unix $ 16 Unix Commands cat [Filename1] [Filename2] … Concatenate Files Display Files to the Screen Ctrl-s Pause Screen Ctrl-q Unpause Screen $ cat sample.file This is a sample file that i'll use to demo how the pr command is used. The pr command is useful in formatting various types of text files. $ 17 Unix Commands more [Filename1] [Filename2] … Display Files to the screen one page at a time $ more largefile This is a sample file that i'll use to demo how the pr command is used. The pr command is useful in formatting various types of text files. --More--(16%) Spacebar (next page) b (previous page) Enter Key (next line) q (Quit & return to unix) /string (search for string) :n (next file) :p (previous file) 18 Unix Commands lpr [Filename1] [Filename2] … Send Files to a Unix Printer No Formatting (page numbers, etc.) $ lpr prog1 mbox $ $ pr sample.file Ideal solution would be to combine the lpr & pr to achieve formatted printed output 98-05-22 23:07 sample.file Page 1 This is a sample file that i'll use to demo how the pr command is used. ... 19 Unix Redirection Redirecting Input A Command Requiring Input Can Receive it’s Input From a File $ mail rdefe < mesg $ 20 Unix Redirection Redirecting Input $ mail rdefe < mesg $ Command that requires input Command < File File used to provide input (instead of typing it!) 21 Redirection Examples 1 $ pr data > data.pr $ lpr data.pr 2 $ cal 3 1993 > year Using arguments with redirection 3 $ ls -l data > stuff Using arguments & options with redirection Is the same as $ pr data | lpr 22 Redirection Examples 4 $ pr data > lpr 5 $ cat text let > mesg 6 $ pr f1 f2 > f1 1 2 Create the file f1 Erases f1 if it already exists pr f1 and f2, redirect to f1 23 Unix Commands rm [Filename1] [Filename2] … remove files * is a Meta Char that matches anything $ rm prog1 mbox $ $ rm p* $ Caution $ rm * $ Unix Assumes You Know What Your Doing Be Sure You Know What Your Deleting No Undelete! 24 Unix Commands vi [Filename] Full Screen, Visual Editor Changes Displayed As They Are Made Edits A Copy of the File Changes Must Be Saved $ vi mesg emacs http://www.gnu.org/software/emacs/emacs.html 25 Unix Commands Vi Modes Command Mode Start in command mode Every Key Performs an Editing Command Insert Mode Perform Text Entry/Input Insert Mode Command Command Mode Insert Mode ESC Key 26 Sample vi Edit Session $ vi mesg Welcome to UNIX Wnewtextelcome to UNIX This is an example of a text file in vi This is an example of ~ a text file in vi ~ ~ ~ ~ :wq $ Start in Command Mode Press a key for Append After Cursor Command Enter text (Input Mode) Press ESC key (Command Mode) Press :wq followed by Enter key to Save & Exit 27 Cursor Positioning Moving the Cursor in Command Mode k Key h l j w b Cntrl-d Cntrl-u Enter G 5G Command Forward One Word Backward One Word Scroll Down Scroll Up Down One Line Go To Last Line Go To Line 5 28 Text Input Mode vi Text Input Mode Commands Wnewtextelcome to UNIX a Append After Cursor Welcome to UNIXnewtext This is an example of A Append at End of Line a text file in vi is an example ofto UNIX ~ ThisnewtextWelcome i Insert Before Cursor ~ a text file in vi is an example of to UNIX ~ ThisnewtextWelcome I Insert at Beginning of ~ a text file in vi Line ~ This is an example of newtext ~ a text file in vi O Open New Line Above Cursor Welcome to UNIX ~ o Open New Line Below Cursor ~ This is an example of R Replace Text (typeover) a text file in vi ~ r Replace One Char ~ 29 Deleting Text Welcome to UNIX This is an example of a text file in vi ~ This is an example of ~ a text file in vi ~ ~ x Delete One Char X Delete Char Before Cursor dd Delete One Line Proceed Any Command with a Number to multiply effect 4x Delete 4 chars 5dd Delete 5 lines 3dw Delete 3 words 30 Undo Changes Welcome to UIX Welcome to UNIXof This is an example a text file in vi ~ This is an example of WELcome ~ a text file in vi to UIX 123 ~ an example of ~ This is Welcome to UNIX a text file in vi ~ This is an example of ~ a text file in vi ~ ~ x Delete One Char u Undo Last Change U Undo All Changes on Line 31 Saving Your Changes Command Mode ZZ :wq :w data :q! Save & Exit vi Save & Exit vi Save to a file data Quit Without Saving Changes Vi reference Card http://vh224401.truman.edu/~dbindner/mirror/vi-ref.pdf 32 Other Goodies... /string Forward Search for `string` ?string Backward Search for `string` n N Ctrl-G J Repeat Search Repeat Search in reverse direction Display Current Location in File Join two lines together http://www.thomer.com/thomer/vi/vi.html 33 That’s All ... 34