1 / 120

Commands for more

Commands for more. v - drop into vi at the current line i/ pattern - search for the ith occurrence of pattern h - help, gives list of commands ! command - invokes a shell to execute command . - repeat last command q or Q - exit from more. head.

cox
Download Presentation

Commands for more

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. Commands for more • v - drop into vi at the current line • i/pattern - search for the ith occurrence of pattern • h - help, gives list of commands • !command - invokes a shell to execute command • . - repeat last command • q or Q - exit from more UNIX System Programming

  2. head • Display the first few lines of a specified file • Syntax: head [-n] [filename...] • -n - number of lines to display, default is 10 • filename... - list of filenames to display • When more than one filename is specified, the start of each files listing displays ==>filename<== UNIX System Programming

  3. tail • Displays the last part of a file • Syntax: tail +|-number [lbc] [f] [filename] or: tail +|-number [l] [rf] [filename] • +number - begins copying at distance number from beginning of file, if number isn’y given, defaults to 10 • -number - begins from end of file • l - number is in units of lines UNIX System Programming

  4. tail • b - units are blocks • c - units are characters • r - print in reverse order • f - if input is not a pipe, do not terminate after end of file has been copied but loop. This is useful to monitor a file being written by another process UNIX System Programming

  5. touch • Update the access and modification times of a file • Syntax: touch [-c] [-f] filename ... • -c - Do not create filename if it doesn’t exist, default is to create filename • -f - Attempt to force the update in spite of read/write permissions associated with filename • Why would you want to do this? • This is particularly useful in software development UNIX System Programming

  6. File System • Unix provides a hierarchical, or tree-like, file system • Supports two main objects • Files • Directory files, or directories • From Unix’s view, there is no difference between the two • From the user’s view, files are data that you want, directories are containers of files • In reality, files are simply a stream of bytes • Critical design philosophy of Unix UNIX System Programming

  7. Tree Structure UNIX System Programming

  8. Files and Directories UNIX System Programming

  9. File Names • Every file has a filename • Current versions of Unix allow up to 255 characters, older versions limit to 14 UNIX System Programming

  10. File Names • Almost any character can be used in a filename • Sticking with the following will save many problems • Uppercase letters (A-Z) • Lowercase letters (a-z) • Numbers (0-9) • Period ( . )can be used as any other character and may denote special files • Exception is the root directory, which is always named / • No other file can use this name • Comma ( , ) • Dash ( - ) • Underscore ( _ ) UNIX System Programming

  11. Other File Name Rules • Other characters may be used by “escaping” them with a “\” character • Willie\*Weasil - displays as Willie*Weasil • Much confusion can result from this • File names are case sensitive • my_file, My_File, and MY_FILE are all unique names UNIX System Programming

  12. File Access Controls • Unix provides file security with access levels and permissions • Access levels define who specific permissions belong to • user (u) • group (g) • other (o) UNIX System Programming

  13. File Access Controls • Unix provides file security with access levels and permissions • Access levels define who specific permissions belong to • user (u) • group (g) • other (o) UNIX System Programming

  14. Commands • mkdir • rm • Path names • cp • mv • stat • touch • inodes • ln • backquotes • Process managment

  15. Access Controls Provide Security • Generally accepted that there are files users cannot access or modify • This provides security for: • System • Work groups • Individual users UNIX System Programming

  16. MaKe DIRectory - mkdir • Creates new directories • Syntax: mkdir [ -p ] dirname • p - allows “missing” parent directories to be created as needed $ mkdir –p cs388/labs/{lab1,lab2,lab3} • Requires write permission in the parent directory UNIX System Programming

  17. ReMove file(s) - rm • Removes (deletes) files • Syntax: rm [ - ] [ -fir] filename ... • - Treat following arguments a filenames, so you can remove files starting with a minus sign • f - Force files to be removed without displaying permissions, asking questions, or reporting errors • i - Interactive, ask before removing each file • r - Recursively delete the contents of a directory, its subdirectories, and the directory itself UNIX System Programming

  18. ReMove DIRectory - rmdir • Removes empty directories • Syntax: rmdir directory... • An error will be reported if the directory is not empty UNIX System Programming

  19. LiSt directory - ls • List the contents of a directory • Syntax: ls [-aAcCdfFgilLqrRstu1] filename • a - List all entries, without this, files beginning with a . are not listed • c - Sort on time of last edit • l - List in “long” form, giving mode, number of links, owner, size, and time of last modification • R -Recursively list subdirectories encountered • s - Give size of file in kilobytes • t - Sort by time modified, latest first UNIX System Programming

  20. Change Directory - cd • Change current working directory • Syntax: cd [directory] • Without argument, changes to your login directory • Otherwise changes to directory UNIX System Programming

  21. Print Working Directory - pwd • Display pathname of current working directory • Syntax: pwd UNIX System Programming

  22. Absolute Pathnames • Every file has a pathname • A pathname is built by tracing a path from the root directory, through all intermediate directories, to the file • String all the filenames in the path together, separating them with slashes ( / ) and proceeding them with the root directory ( / ) • Example: /usr/src/cmd/date.c UNIX System Programming

  23. Path Names UNIX System Programming

  24. Relative Pathnames • Every directory has two intrinsic directories • . (this directory) • .. (the parent directory) • These make using relative pathnames easy UNIX System Programming

  25. LiNk - ln • Create a pseudonym for an existing file • Syntax: ln [-fs] filename [linkname] • f - force a hard link to a directory, only available to supersuser • s - create a symbolic (soft) link UNIX System Programming

  26. LiNk - ln • Hard links are default, they create a pointer to the file • Symbolic, or soft links, create an indirect pointer to the file via the pathname • Although only the superuser can create a hard link to a directory, any user can create a soft link • Soft links also work across file systems UNIX System Programming

  27. Why Hard and Soft Links? • Hard links all have equal status • When a file with hard links is deleted, the actual file remains until all of the hard links have been deleted UNIX System Programming

  28. Why Not Just Make a Copy? • ln creates a pseudonym for the given file • No new inode is created • Only one copy of the actual file exists • Modifications via either filename affect the file • cp creates a new copy of the given file • A new inode is created • Twice as much disk space is used • Modifications to the copy are not reflected in the original UNIX System Programming

  29. inode owner tanjs group 567 type regular file permissions rwxr-xr-x last accessed Aug 23 2003 1:45 PM last modified Jul 4 2004 9:17 AM size 6030 bytes number of links 2 disk addresses • inodes (or index nodes) contain information about files • inodes do not contain path or file name information UNIX System Programming

  30. inodes $ touch abc $ touch def $ touch xxx $ ls -iabcdef xxx UNIX System Programming

  31. inodes $ df –i FilesystemInodesIUsedIFreeIUse% Mounted on /dev/mapper/centos-root 39284736 89891 39194845 1% / devtmpfs 482463 356 482107 1% /dev tmpfs 485217 1 485216 1% /dev/shm tmpfs 485217 462 484755 1% /run tmpfs 485217 16 485201 1% /sys/fs/cgroup /dev/sda1 512000 358 511642 1% /boot nfs.uwec.edu:/USERS 23592191 12252850 11339341 52% /USERS/ALL tmpfs 485217 1 485216 1% /run/user/6899316 tmpfs 485217 1 485216 1% /run/user/2138098 UNIX System Programming

  32. stat $ stat test File: ‘test’ Size: 34 Blocks: 1 IO Block: 8192 regular file Device: 27h/39d Inode: 9288674231655769 Links: 1 Access: (0700/-rwx------) Uid: (99/ nobody) Gid: (99/ nobody) Context: system_u:object_r:nfs_t:s0 Access: 2018-02-12 12:24:32.603472900 -0600 Modify: 2018-02-12 12:24:32.603472900 -0600 Change: 2018-02-13 03:03:29.079100700 -0600 UNIX System Programming

  33. Metacharacter Examples • Suppose a directory listing of your files shows the following files: $ ls toy boy coy cow soy1 soy2 soy.1 soy1.1 bow mow1 mow2 mow3 say1.1 say1.2 say1.3 hay shay tray fray flay chow slay bay buy • How do we select groups of these files using metacharacters? UNIX System Programming

  34. history • Display the history list in the C or Korn shells • Syntax: history [ -hr ] [ n ] • h - display history list without leading numbers • used to produce files for input as a script • r - display the history list in reverse order with most recent command first UNIX System Programming

  35. history • n - number of previous commands to display • if n is omitted, the entire history list is displayed where the entire list length is determined by the value of the shell variable history Example: set history = 40 UNIX System Programming

  36. Using history • History event specifiers • Always preceded by a ! (bang); this identifies the command as a history command • !! - Repeat previous command • !n - Repeat command n • !-n - Repeat the nth-to-last command UNIX System Programming

  37. Using history • !str - Repeat the last command beginning with str • !?str? - Repeat the last command containing str • !# - Repeat the current command line typed so far • Normally used with word designators to select portions of the current command line UNIX System Programming

  38. history Examples • Recalling the last command $ lprletter_to_Mom $ !! lprletter_to_Mom UNIX System Programming

  39. history Examples • Referring to commands by number $ history 1 ls 2 cat letter_to_Mom 3 lprletter_to_Mom $ !2 cat letter_to_Mom UNIX System Programming

  40. !-n Tip $ !-2repeat format cat -msletter|more $ !-2repeat edit vi letter $ !-2repeat format cat -msletter|more UNIX System Programming

  41. Referring by Relative Number $ history 1 ls 2 vi letter_to_Mom 3 cat letter_to_Mom | more 4 cat -msletter_to_Mom | lpr $ !-3 vi letter_to_Mom mikey% !-2 cat -msletter_to_Mom | lpr UNIX System Programming

  42. Referring to Commands by Strings $ history 347 who 348 wc -l data 349 cal 1776 350 vim calendar 351 vim datebook mikey% !w wc -l data UNIX System Programming

  43. Referring to Commands by Strings mikey% history 347 who 348 wc -l data 349 cal 1776 350 vim calendar 351 vim datebook mikey% !wh who mikey% !?datebook? vim datebook UNIX System Programming

  44. Command Editing with history • General form of substitution - !:s/old/new/ $ history 347 who 348 wc -l data 349 cal 1776 350 vim calendar 351 vim datebook $ !350:s/calendar/datebook/ vim datebook UNIX System Programming

  45. Command Editing with history • A shortcut for the previous command mikey% ^datebook^calendar^ vim calandar UNIX System Programming

  46. Saving history Across Logins • If you set the savehist shell variable, the shell saves history lines in ~/.history at logout and reads them at the next login • If you set savehist without specifying a value, the entire history list is saved • set history = 20 • set savehist UNIX System Programming

  47. Saving history Across Logins • If you give it a value, only that many events will be saved • set history =20 • set savehist = 10 UNIX System Programming

  48. PaGe - pg • Page through a file • Unlike more, pg allows you to back up in the file • After each screen is displayed, it pauses, displays a : prompt, and awaits a command • Perusal commands • Return or Enter - display next screen • (+|-)number - simulate scrolling forward or backwards number of screens • . or CTRL-L - redisplay current screen UNIX System Programming

  49. Searching with pg • [i]/pattern/ - search forward for the ith occurrence (default i=1) of pattern • [i]^pattern^ or [i]?pattern? - search backwards for the ith occurrence (default i = 1) of pattern • After searching, pg will normally display the line containing pattern at the top of the screen • h displays summary of commands • q or Q exits UNIX System Programming

  50. CoPy file(s) -cp • Syntax: cp [ -ip ] filename1 filename2 cp -rR [ -op ] directory1 directory2 cp [ -iprR ] filename ... Directory • i - interactive, prompt for confirmation whenever the copy would overwrite an existing file • p - preserve, duplicate not only the file contents but also modification time and permission modes UNIX System Programming

More Related