home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / newc_dev / ls32.lha / ls.doc < prev    next >
Text File  |  1992-06-10  |  9KB  |  269 lines

  1.                    LS 3.0 USER DOCUMENTATION
  2.  
  3. -----------------------------------------------------------------------
  4.  
  5.      LS 3.0 - A versatile Amiga directory listing utility.
  6.  
  7. Revision History:
  8.  
  9.   V1.0    August 1986 Written from scratch by Justin V. McCormick.
  10.   V2.0  November 1988 Revised for Lattice 5.0 and made 1.3 compatible.
  11.   V2.1  December 1988 Minor size reduction, fixed a few bugs from 2.0.
  12.   V2.2  December 1988 Fixed status return and multiple wildcard pathnames.
  13.   V3.0  July 25, 1989 Instant sorting, best-fit output, new features.
  14.   V3.1  July 29, 1989 Bug fixes, new output width and height options.
  15.   V3.1a May  28, 1992 Now works with O.S.2 (by Paolo Dell'Aquila)
  16.   V3.2  June 10, 1992 new options: now give the real block occupation
  17.  
  18. Notices:
  19.  
  20.   This program is placed in the public domain with the
  21. understanding that the author makes no claims or guarantees with
  22. regard to its suitability for any given application, and that
  23. the author assumes no responsibility for damages incurred by its
  24. usage.  Any resemblance of this program to any other program,
  25. either living or dead, is purely coincidental.
  26.  
  27.   Feel free to borrow this code and make millions of dollars
  28. from its sale or commercial use, but please give credit where
  29. credit is due.
  30.  
  31.   Please do not send me money or stolen software!  I enjoy mail,
  32. phone calls, and legitimate software contributions of all kinds.
  33.  
  34.            Thanks for your encouragement and support,
  35.                       Justin V. McCormick
  36.  
  37. I can be reached via:
  38.  
  39.   BIX: jmccormick
  40. PLINK: JVM
  41.  
  42. PHONE: 303-290-8429
  43.  
  44. USMAIL: 8330 E. Quincy Ave.
  45.         Bldg. C, #312
  46.         Denver CO, 80237
  47.  
  48.  
  49.  
  50. Synopsis:
  51. ---------
  52.  
  53.   Features intelligent columnar listing, versatile sort options,
  54. UNIX-style pattern matching, recursive subdirectory listing,
  55. customized output formatting and much more!
  56.  
  57. Usage:
  58.         LS [options] [pattern1] [pattern2] ...
  59.  
  60.  
  61. Installation:
  62. -------------
  63. LS can be put in your C: directory where LIST and DIR are
  64. normally found.  LS can be made resident in your
  65. startup-sequence, but you must set the pure bit on LS after
  66. dearchiving to prevent spurious warnings:
  67.  
  68.     PROTECT C:LS +P
  69.  
  70. Or you can ignore the pure bit warning in the startup-sequence:
  71.  
  72.     RESIDENT >NIL: C:LS PURE
  73.  
  74.  
  75. The Command Line:
  76. -----------------
  77.  
  78.   All arguments are optional.  The default action is to give a
  79. short columnar listing, sorted alphabetically, using the current
  80. directory.  Alphabetizing is always case insensitive.
  81.  
  82. You can group your options together in any order, like this:
  83.  
  84.     LS -tlr df0:
  85.  
  86. Or you can have options specified independently:
  87.  
  88.     LS -t -l -r df0:
  89.  
  90. However, if you specify several file or path names, the options
  91. will return to their default settings between paths.  Thus, you
  92. have a command like this:
  93.  
  94.     LS -l df0: -r df0:
  95.  
  96. This would give you a two listings of df0:, the first one a long
  97. listing, and the second one a reverse sorted short listing.
  98.  
  99.  
  100. Options:
  101. --------
  102.  
  103.   There are many command options for LS.  You can get a quick
  104. reference list of options by typing:
  105.  
  106.     LS -?
  107.  
  108. Here is the complete list and description of the options:
  109.  
  110. a   Real block occupation (calculate also extension block). Both FFS and OFS
  111. c   Show filenotes, implies long listing.
  112. d   Show directory entries only.
  113. f   Show file entries only.
  114. h   Same as ?, help!
  115. k   Do not use ANSI escape codes in output (for colored text).
  116. l   Give long listing.
  117. n   Do not sort entries before displaying.
  118. p   Permit system requests ("Please insert disk xxx in any drive...").
  119. r   Reverse sort direction.
  120. s   Sort entries by size.
  121. t   Sort entries by date.
  122. v <pattern> 
  123.   Do not show entries that match the given pattern.
  124.  
  125. D   Show directory entries last.
  126. H   Do not print directory headings or subtotals.
  127. I   Non-interactive short listings, no "MORE" prompt between pages.
  128. M   Mix directory and file entries together in final output list.
  129. P   Print full pathnames for all entries, implies long listing.
  130. R   Recursive listing, descend into subdirectories that matches pattern.
  131. T   Print grand total of all entries.
  132.  
  133.   If LS cannot read the current CLI window size, LS assumes the
  134. output is 77 columns by 23 rows.  The following two options let
  135. you control the output page width and length of the short
  136. columnar listing:
  137.  
  138. X <wide>
  139.   Set short listing page width to the given number of columns.
  140. Y <high>
  141.   Set short listing page length to the given number of rows.
  142.  
  143.   There are two special options that expect a valid directory or
  144. filename after the option:
  145.  
  146. N <name>
  147.   Show entries that are newer (more recent than) the given entry name.
  148. O <name>
  149.   Show entries that are older (less recent than) the given entry name.
  150.  
  151.   By using these two options, you can generate a list of files
  152. newer or older than a given file or directory.  For instance,
  153. suppose you had a directory containing C source files for a
  154. project.  Typing "LS -t df0:" produces the following list of
  155. files sorted by time:
  156.  
  157.     joe.c  fred.c  pete.c  ted.c  sam.c
  158.  
  159. Now, if we give the following command:
  160.  
  161.     LS -N df0:pete.c df0:
  162.  
  163. The following files newer than pete.c would be listed:
  164.  
  165.     ted.c  sam.s
  166.  
  167. Also, -N and -O can be used together.  This command:
  168.  
  169.     LS -N df0:fred.c -O df0:ted.c df0:
  170.  
  171. would produce the only file newer than fred.c and older than ted.c:
  172.  
  173.     pete.c
  174.  
  175. Tip:  If you need to list files older or newer than a certain
  176. date, rather than a certain file, you can do this:
  177.  
  178.   echo >RAM:datemark "Marker"    ; Create a temp file in RAM:
  179.   setdate RAM:datemark 07-Jul-89 ; Set the datestamp for the temp file
  180.   LS -N ram:datemark df0:        ; List files newer than "datemark"
  181.   delete ram:datemark            ; Remove the temp file
  182.  
  183.  
  184. Formatted Output:
  185. -----------------
  186.  
  187.   For customized output, there is a special option that expects
  188. a format rule as the next "option":
  189.  
  190. F <format>
  191.   Format output with <format), with the following special symbols:
  192.  
  193.     %p   Print the protection bits
  194.     %d   Print the date, YY-MM-DD
  195.     %t   Print the time, hh-mm-ss
  196.     %b   Print the number of filesystem blocks used by this entry.
  197.     %s   Print the number of bytes used by this entry.
  198.     %n   Print the name of the entry.
  199.     %%   Print a percent symbol.
  200.     \n   Print a linefeed.
  201.     \t   Print a tab.
  202.     \\   Print a backslash symbol.
  203.  
  204. The default format rule that LS uses for long listings looks like this:
  205.  
  206.     -F "%p %d %t %4b %8s %n\n"
  207.  
  208.   Any of the format options that begin with the '%' symbol can
  209. have an optional pad count that lets you specify how many
  210. columns to use.  For example:
  211.  
  212.     -F "%40n\n"
  213.  
  214. would print each entry name right justified in a field of 40 columns.
  215.  
  216.   You can use this feature of LS to help create simple batch
  217. command files.  For example, look at this command:
  218.  
  219.     LS -PF "copy %n RAM:\n" df0:*.h
  220.  
  221.   This tells LS to perform a listing using full pathnames with a
  222. special format, matching only filenames that end with ".h" in
  223. directory df0:.  Suppose df0:  has the following files in it:
  224.  
  225.     joe.h  fred.h  pete.h  ted.h
  226.  
  227. Our example LS command would result in the following list of commands:
  228.  
  229.     copy df0:fred.h RAM:
  230.     copy df0:joe.h RAM:
  231.     copy df0:pete.h RAM:
  232.     copy df0:ted.h RAM:
  233.  
  234. We could create a script file from this by redirecting the
  235. output of LS to a temporary file:
  236.  
  237.     LS >ram:templist -PF "copy %n RAM:\n" df0:*.h
  238.     EXECUTE ram:templist    ;Do the script
  239.     DELETE ram:templist     ;Delete it
  240.  
  241.  
  242. Wildcards:
  243. ----------
  244.  
  245.   Wildcards may be used in file names and in the last level of a
  246. directory path name.  The UNIX-style '*' character is used to
  247. match any number of characters, and a '?' matchs any single
  248. character.  If you need to specify a pathname with spaces in it
  249. like "Wombat Soup", you need to put quotes around it.  LS can
  250. process up to 30 separate pathname patterns in per command line.
  251.  
  252. Here are some simple examples:
  253.  
  254.     LS df0:*.info      ; List all .info files in df0:
  255.     LS df0:*/*.info    ; List all dirs and .info files in df0:
  256.     LS df0:L*/*.info   ; List dirs that start with 'L' and .info files
  257.  
  258.   Also, wildcards are helpful when you are trying to avoid showing
  259. certain files with the "-v <pattern>" option.  For instance:
  260.  
  261.     LS -v *.info        ; List current dir, do not show .info files.
  262.     LS -v *.info df0:   ; Same as above but lists df0: instead.
  263.     LS -v *.info df0:C* ; List entries that start with the letter "c"
  264.                         ; in df0:, but do not list .info files.
  265.  
  266. ---------------------------------------------------------------------
  267.         May all your directory listings be more readable,
  268.                       Justin V. McCormick
  269.