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