home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume7 / zooman.man / uguide.n
Encoding:
Text File  |  1989-07-27  |  50.3 KB  |  1,544 lines

  1. .PH
  2. \" this guide should be runoff using the mm macros
  3. \"
  4. \" set the T/C depth
  5. .nr Cl 3
  6. \" set the paragraph indent
  7. .nr Pi 2
  8. \" begin section macro
  9. .de BS
  10. .bp
  11. .PF "''\\$1''"
  12. .OF "'rev 1.19 - 11/9/88'For zoo 2.01'Page %'"
  13. .EF "'page %'For zoo 2.01'rev 1.19 - 11/9/88'"
  14. ..
  15. .ls 2
  16. \" This is the way to highlight the name zoo, when in text
  17. .ds z \\fIzoo\\fR
  18. .if n .ds co "(c)
  19. \" This is how to call in constant width fonts on troff
  20. .if t .cs H 22
  21. .de CW
  22. .ie '\\$1'' .ft H
  23. .el \\fH\\$1\\fR
  24. ..
  25. .de CE
  26. .ft R
  27. ..
  28. \&
  29. .sp 3i
  30. .ce 4
  31. \s+6The \fIzoo\fR Archiver
  32. User's Guide\s-6
  33. Bill Davidsen
  34. .sp
  35. rev 1.19, modified 11/9/88
  36. .sp 1i
  37. .ce
  38. Copyright \*(co 1988 by Bill Davidsen, all rights reserved.
  39. .bp
  40. .P
  41. This document may be distributed unmodified by anyone for any purpose.
  42. Copies of this guide may be freely duplicated and distributed in any
  43. form but may not be sold at a profit.
  44. .sp
  45. .B Trademarks
  46. .P
  47. MS-DOS is a trademark of Microsoft, UNIX is a trademark of AT&T, and
  48. ARC is a trademark of System Enhancement Associates. VMS and VAX are
  49. trademarks of Digital Equipment Corp.
  50. .de PX        \" set binding margins here
  51. .if o .po 1i
  52. .if e .po .5i
  53. ..
  54. .pn 1
  55. .BS "Introduction
  56. .H 1 Introduction
  57. .H 2 "What's an archiver, and why do I want one?
  58. .P
  59. .IX "archive
  60. .IX "introduction
  61. .IX "MS-DOS
  62. .IX "UNIX
  63. .IX "compress
  64. .IX "SQ
  65. .IX "LBR
  66. An archive program is one which performs two functions; to compress the
  67. data for a file, such as MS-DOS\*(Tm SQ, or UNIX\*(Tm compress, and to
  68. allow storage of a number of files in a single file, such as MS-DOS LBR
  69. or UNIX tar or cpio.
  70. .P
  71. Because many files have been stored as a single file they can be easily
  72. moved or backed up to another disk or tape. The compressed files take
  73. less space on disk than the originals, and access to other files may be
  74. faster since the directory will be less cluttered.
  75. .H 2 "What's zoo?
  76. .P
  77. \*z is an archive program written by Rahul Dhesi, which offers all of
  78. these benefits, and which also offers your choice of a \fInovice\fR
  79. or an \fIexpert\fR user interface. Additional support programs are
  80. available for MS-DOS, UNIX, and several other systems.
  81. .H 2 "How to use this guide
  82. .P
  83. The User's Guide is not intended to replace the manual. The manual is
  84. concise and complete, but not in many cases easy to use and understand.
  85. The User's Guide is intended to be easy to use and understand, with
  86. examples allowing a new user to learn the use of \*z without
  87. instruction.
  88. .P
  89. This guide is organized by function. If you want to add a file to an
  90. archive, for instance, you go to the "add file" section and read about
  91. how to do it. The simplest case is presented first, followed by
  92. discussion of options and related topics.
  93. .ne 6
  94. .P
  95. \*z provides the following capabilities:
  96. \fBadd\fR files to an archive, \fBextract\fR files from an archive,
  97. \fBlist\f the files in an archive,
  98. \fBdelete\fR files from an existing archive,
  99. and \fBreplace\fR old files with a newer version. All of these basic
  100. functions are available with options.
  101. Details on how to use each of these follows.
  102. .H 1 "Using \*z
  103. .P
  104. .IX "novice commands
  105. .IX "expert commands
  106. \*z has two sets of commands, the \fInovice\fR commands and
  107. \fIexpert\fR commands. The \fInovice\fR commands are easy to learn and
  108. use, and allow you to do the common archiver commands. The \fIexpert\fR
  109. commands are somewhat more complex to use, and provide access to all of
  110. the capabilities of \*z, particularly those which are not available in
  111. most other archivers. Note that you can get a reminder of the novice
  112. commands just by typing the \*z command with no arguments, or the
  113. expert commands by typing "zoo\ h".
  114. .H 2 "Filenames
  115. .H 3 "The name of the archive file
  116. .P
  117. .IX "archive filename
  118. Since \*z is going to take a number of files and place them in one
  119. archive file, there the name of the archive file must be specified. \*z
  120. archives are usually named something.zoo, just as ARC\*(Tm files are named
  121. something.arc, etc. However, the archives may have other names,
  122. depending on the operating system. If the archive name specified by the
  123. user contains at least one dot (.) the suffix zoo will not be added.
  124. .P
  125. When you provide the name of an archive on the command line, if the
  126. name does not contain a dot the extension ".zoo" will be added. This
  127. means that if you use the name "docs" the actual archive will be named
  128. "docs.zoo", while if you use the name "my.doc" that will be the actual
  129. filename. Using names which don't end in .zoo may cause you confusion,
  130. and should be done only when you will still be able to identify the file
  131. as a \*z archive.
  132. .H 3 "The names of files in the archive
  133. .P
  134. .IX "filename limitations
  135. .IX "limitations, filename
  136. The names of files in an archive are limited only by the operating
  137. system. Under MS-DOS the names are eight characters for the name,
  138. followed by a dot, followed by three characters for the extension.
  139. Under VMS\*(Tm the name and extension may each be up to 32 characters
  140. long, and under UNIX the names may be as long as the system allows
  141. (always at least 14 characters) and may be any legal name. Other
  142. operating systems may have other rules for filenames. In general files
  143. with names consisting of not more than 8 characters, a dot, and not
  144. more than three characters are supported by most common operating
  145. systems.
  146. .H 3 "Treatment of wildcards
  147. .P
  148. .IX "wildcards
  149. If you are familiar with the way the UNIX operating system expands
  150. wildcard names, you understand how zoo treats wildcards. For MS-DOS
  151. users the action is most similar to the DIR command, rather than the
  152. COPY usage.
  153. .ne 6
  154. If you type "a*" it means "all names beginning with a" even
  155. if they have an extension. Also, the construct "*a" will match all
  156. filenames ending in "a", such as "data" or "left.pa". 
  157. For a complete discussion see the manual.
  158. .BS "zoo commands
  159. .H 1 "Common zoo operations
  160. .H 2 "Adding data to an archive
  161. .P
  162. .IX "adding file to an archive
  163. .IX "-add command, add files
  164. .IX "a command, add files
  165. When you add a file to an archive, a copy of the file is placed in the
  166. archive in a compressed format. The original file is left unchanged for
  167. other use. The simplest way to add data to an archive is with the
  168. novice command:
  169. .ti +.5i
  170. .CW "zoo -add zoofile myfile
  171. .sp
  172. Which compresses the file \fImyfile\fR and adds it to \fIzoofile.zoo\fR.
  173. You can have several files named on the command line, either explicitly
  174. or with wildcards.
  175. .DS
  176. .nf
  177. Add files examples:
  178. .in +.5i
  179. .CW "zoo -add zoofile myfile.dat myfile.doc
  180. .sp
  181. .CW "zoo a zoofile myfile.*
  182. .DE
  183. .P
  184. Note that if there is already a file in the archive having the same
  185. name as a file you are adding, it will be replaced by the new file. If
  186. you want to prevent this, there is an expert option 'n' which says only
  187. add files which are not in the archive already. 
  188. .DS
  189. For example the two command sequence:
  190. .in +.5i
  191. .nf
  192. .CW
  193. zoo a arch myfile.src
  194. zoo an arch myfile.dat myfile.src myfile.doc
  195. .CE
  196. .DE
  197. .P
  198. .IX "n option, add new files only
  199. Note that the file "myfile.src" was added to the archive with the first
  200. command, and therefore will not be added by the second.
  201. .H 3 "Updating files in an archive
  202. .P
  203. .IX "updating files
  204. .IX "-freshen command, update existing files
  205. .IX "u option, update existing files
  206. There may be times when you want to be sure the archive contains the
  207. latest versions of all the files, without adding any new files. This may
  208. be done with the '-freshen' novice command, or the
  209. option, 'u', controls this in the expert mode.
  210. .DS
  211. You may enter the command as either:
  212. .ti +.5i
  213. .CW "zoo au arch myfiles.*
  214. .br
  215. - or -
  216. .ti +.5i
  217. .CW "zoo -freshen arch myfiles.*
  218. .DE
  219. .sp
  220. where any file which had been changed would be replaced with the newer
  221. version, while any files which were not in the archive would be ignored.
  222. .H 3 "Adding only new files to an archive
  223. .P
  224. .IX "adding new files only
  225. .IX "new files, adding
  226. .IX "n option, add new files
  227. If you want to add some new files to an archive, but don't want to
  228. change the existing files in the archive, even if they are not the
  229. latest version, you can specify leaving the existing files unchanged by
  230. use of the 'n' option in expert mode.
  231. .DS
  232. In expert mode only:
  233. .ti +.5i
  234. .CW "zoo an arch myfiles.*
  235. .DE
  236. will do just that. If a file is in the archive it is not changed, but if
  237. it's not in the archive it will be added.
  238. .H 3 "Bringing an archive up to date
  239. .P
  240. .IX "-update command, add new or changed files
  241. .IX "aun command, add new or changed files
  242. When keeping the parts of a package in a zoo archive, one of the common
  243. operations is to move all newly created files into the archive, and to
  244. update the files which are in the archive but have been modified since
  245. they were saved.
  246. .DS
  247. The easiest way is with the novice command:
  248. .ti +.5i
  249. .CW "zoo -update arch myfiles.*
  250. .br
  251. and can also be done with the expert command:
  252. .ti +.5i
  253. .CW "zoo aun arch myfiles.*
  254. .DE
  255. .P
  256. .IX "-freshen
  257. .IX "-update
  258. Note the difference between '-freshen' and '-update'. The freshen
  259. command does not add new files to the archive, it just insures that the
  260. file already in the archive are the latest versions. The '-update'
  261. command makes sure that the archive contains all of the files you need.
  262. .P
  263. The reason for not using update in all cases is that you may have a lot
  264. of files with unrelated names in a directory, and want to save only a
  265. few. The freshen command allows you to specify all the files in the
  266. directory, and have \*z select those which should be saved.
  267. .DS
  268. To do this you can type:
  269. .ti +.5i
  270. .CW "zoo -freshen arch *
  271. .DE
  272. .H 3 "Moving files into an archive
  273. .P
  274. .IX "-move command, move files into archive
  275. .IX "M option, move files into archive
  276. .IX "delete after archiving
  277. Since one common reason for using an archive is to save space,
  278. frequently you will want to put files into a archive, and then delete
  279. the original, full size, files.
  280. .DS
  281. The novice command to do this is:
  282. .ti +.5i
  283. .CW "zoo -move arch file1 file2
  284. .br
  285. or using the the 'M' option to the 'a' expert command:
  286. .ti +.5i
  287. .CW "zoo aM arch file1 file2
  288. .DE
  289. In either case the original files will not be deleted until \fIall\fR
  290. files have been added to the archive and the archive has been closed.
  291. .H 2 "Listing the archive contents
  292. .P
  293. A \*z archive may be listed, giving the contents of the archive with
  294. various detail and options. A complete list of options is found in the
  295. User's Manual.
  296. .H 3 "Getting a default listing
  297. .DS
  298. .IX "-list command, default format file listing
  299. The common listing is done by:
  300. .ti +.5i
  301. .CW "zoo -list arch
  302. .nf
  303. .sp
  304. Which might produce a listing like:
  305. .sp
  306. .in +.5i
  307. .CW
  308. Archive FIZsim.zoo:
  309. Length    CF  Size Now  Date      Time
  310. --------  --- --------  --------- --------
  311.     3849  43%     2211   3 Feb 88 21:55:56   69e7   fiz.1
  312.     6864  48%     3563   3 Feb 88 21:52:16   d14e   fiz.c
  313. --------  --- --------  --------- --------
  314.    10713  46%     5774     2 files
  315. .CE
  316. .DE
  317. .P
  318. .IX "listing details
  319. .IX "reading a listing
  320. Let's look at the listing. The first line is the name of the archive,
  321. followed by the line giving the headers for all of the columns. The
  322. first column contains the original length of the file before
  323. compression, the second the percent of compression, and the third the
  324. size of the file in the archive. Remember that the checksum, date, and
  325. the filename are there, too.
  326. .P
  327. Column four is the date when the file was last modified, and five is the
  328. time. The sixth column contains the checksum, discussed in the concepts
  329. section. Finally the name of the file is displayed, either as just a
  330. filename or as a complete name if a subdirectory was specified when the
  331. file was saved.
  332. .P
  333. .IX "totals line
  334. The totals line gives the total of all file sizes, useful when you check
  335. to see if you have room to unpack, the average percent compression, and
  336. the compressed file size. At the end of the totals is the number of
  337. files displayed. Remember that the file count is files displayed, and
  338. may not include all of the files in the archive (see the concepts
  339. section on deleted files and generations).
  340. .H 3 "list files, expert command
  341. .P
  342. .IX "l command, list archive contents
  343. .IX "f option, fast listing
  344. .IX "q option, list without headings
  345. .IX "headings, list without, q option
  346. The expert form of the list command allows a short form of the listing,
  347. having no checksum information displayed. It is otherwise identical to
  348. the the display produced by the -list command. If the 'f' option is
  349. used, only the filenames are displayed, with several filenames on a
  350. line. If you use the 'q' (quiet) option, all of the headings and totals
  351. are deleted as well.
  352. .DS
  353. Using an archive with a number of files, we see this.
  354. .nf
  355. .sp
  356. .in +.5i
  357. .CW
  358. Archive FIZbig.zoo:
  359. Length    CF  Size Now  Date      Time
  360. --------  --- --------  --------- --------
  361.      455   4%      438  17 Aug 88 14:12:36     addbfcrc.o
  362.     1280  24%      970  17 Aug 88 14:12:52     addfname.o
  363.     1069  16%      900  17 Aug 88 14:13:02     basename.o
  364.     3509  26%     2611  17 Aug 88 14:13:28     comment.o
  365.      814   0%      814  17 Aug 88 14:13:34     crcdefs.o
  366.     3655  26%     2717  17 Aug 88 14:22:02     fiz.o
  367.      792  13%      688  17 Aug 88 14:13:44     getfile.o
  368.     2465  20%     1972  17 Aug 88 14:14:02     lzc.o
  369.     2543  18%     2082  17 Aug 88 14:14:22     lzd.o
  370. --------  --- --------  --------- --------
  371.    16582  20%    13192     9 files
  372. .CE
  373. .DE
  374. .DS
  375. .nf
  376. .sp
  377. By using the 'f' option we get:
  378. .sp
  379. .in +.5i
  380. .CW
  381. Archive FIZbig.zoo:
  382. addbfcrc.o      addfname.o      basename.o      comment.o       crcdefs.o
  383. fiz.o           getfile.o       lzc.o           lzd.o           
  384. .CE
  385. .DE
  386. .sp
  387. .DS
  388. .nf
  389. If we add the 'q' option to delete the summary:
  390. .sp
  391. .in +.5i
  392. .CW
  393. addbfcrc.o      addfname.o      basename.o      comment.o       crcdefs.o
  394. fiz.o           getfile.o       lzc.o           lzd.o           
  395. .CE
  396. .DE
  397. .P
  398. You may also want to read the section on advanced listing, which
  399. includes a section on keeping track of several archive, including how to
  400. build a rudimentary database of which files are in which archives.
  401. .H 2 "Extracting files from your archive
  402. .H 3 "Unpacking an entire archive
  403. .P
  404. .IX "-extract command, extract for archive
  405. .IX "x command, extract from archive
  406. .IX "extract file from archive
  407. If you want to extract all of the files in an archive to their original
  408. size and date, you can use the novice '-extract' command, or the expert
  409. 'x' command.
  410. .DS
  411. .nf
  412. Novice and expert unpack archive:
  413. .in +.5i
  414. .CW "zoo -extract arch
  415. .sp
  416. .CW "zoo x arch
  417. .DE
  418. In both cases all files will be extracted.
  419. .H 3 "Unpacking selected files from an archive
  420. .P
  421. .IX "extracting selected files
  422. If you wish to extract a single file from an archive, you simply add the
  423. file name to the command line after the archive name. The effect is
  424. identical.
  425. .DS
  426. .nf
  427. Extract individual file or files
  428. .in +.5i
  429. .CW
  430. zoo -extract arch myfile.3
  431. .sp
  432. zoo x arch myfile.3
  433. .sp
  434. zoo x arch myfile.3 myfile.4
  435. .sp
  436. zoo x arch *.bas
  437. .CE
  438. .DE
  439. The first two examples do the same thing, using the novice and expert
  440. commands respectively. In the third example several of files are being
  441. extracted at the same time. The use of wildcards is also permitted, as
  442. shown in the fourth example. this will extract all BASIC files from the
  443. archive. The example is for MS-DOS, UNIX and other users should see the
  444. discussion of wildcards and the manual for additional discussion of
  445. this.
  446. .H 2 "Deleting files
  447. .P
  448. .IX "deleting files
  449. When a file is "deleted" from an archive, it is marked as no longer
  450. wanted. If you are using the novice commands the file will be
  451. physically removed from the archive after the delete command has been
  452. executed, and a copy of the archive with the file marked deleted but
  453. still physically in the archive will be called something.bak. If your
  454. archive were called docs.zoo, the backup would be called docs.bak. The
  455. expert commands allow you to leave deleted files in the archive, until
  456. you explicitly remove them with the pack command.
  457. .IX "-delete command, delete files
  458. .IX "D command, delete files
  459. Files are deleted from an archive using the "-delete" novice command or
  460. the "D" expert command.
  461. .DS
  462. .nf
  463. Consider the archive below:
  464. .sp
  465. .in +.5i
  466. .CW
  467. Archive FIZ.zoo:
  468. Length    CF  Size Now  Date      Time
  469. --------  --- --------  --------- --------
  470.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  471.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c
  472.     3849  43%     2211   6 Sep 88 09:33:54     t1/fiz.1
  473. --------  --- --------  --------- --------
  474.    14562  45%     7985     3 files
  475. .CE
  476. .DE
  477. .DS
  478. .nf
  479. If you delete a file and list using the novice command:
  480. .sp
  481. .CW
  482. .in +.5i
  483. zoo -delete FIZ fiz.c
  484. zoo l FIZ
  485. .sp
  486. Archive FIZ.zoo:
  487. Length    CF  Size Now  Date      Time
  488. --------  --- --------  --------- --------
  489.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  490.     3849  43%     2211   6 Sep 88 09:33:54     t1/fiz.1
  491. --------  --- --------  --------- --------
  492.     7698  43%     4422     2 files
  493. .CE
  494. .DE
  495. .DS
  496. .nf
  497. While if I use the expert commands:
  498. .CW
  499. .sp
  500. .in +.5i
  501. zoo D FIZ fiz.c
  502. zoo l FIZ
  503. .sp
  504. Archive FIZ.zoo:
  505. Length    CF  Size Now  Date      Time
  506. --------  --- --------  --------- --------
  507.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  508.     3849  43%     2211   6 Sep 88 09:33:54     t1/fiz.1
  509. --------  --- --------  --------- --------
  510.     7698  43%     4422     2 files
  511. ------------
  512. There is 1 deleted file.
  513. .CE
  514. .DE
  515. .P
  516. In addition to the explicit delete command, files are deleted when
  517. overwritten with various forms of the add, freshen, and update
  518. commands.
  519. .BS "Advanced features and commands
  520. .IX "advanced concepts
  521. .H 1 "Other concepts
  522. .H 2 "Packing the archive and deleted files
  523. .P
  524. .IX "packing archives
  525. When a file in an archive is replaced by a newer version of the file, or
  526. another file by the same name, the old version is marked "deleted," but
  527. is still in the archive.
  528. .DS
  529. .IX "d option, list deleted files
  530. You can see deleted files by:
  531. .ti +.5i
  532. .CW "zoo ld arch
  533. .DE
  534. which will list the contents of arch.zoo including deleted files. \*z
  535. has a number of commands and option which allow you to extract deleted
  536. files. The better way to access old versions is to use "generations,"
  537. discussed in the following section.
  538. .P
  539. The deleted files make the archive larger, and therefore should be
  540. removed when you are sure you no longer need them. Since packing the
  541. archive takes time, you may want to perform all of the add and delete
  542. commands on an archive, then pack it.
  543. .P
  544. .IX "deleted files, novice packing
  545. When using the novice commands the archive is packed after every
  546. operation which produces deleted files. The old archive with the deleted
  547. files is saved as file.bak. The backup name is formed by deleting the
  548. last (rightmost) portion of the name and adding .bak. This means that
  549. "myfile.zoo" would have a backup called "myfile.bak", and "my.test.file"
  550. would have a backup names "my.test.bak". Obviously systems which only
  551. allow one '.' in a name don't have all of the forms.
  552. .P
  553. .IX "P command, pack archive
  554. .IX "P option, pack after executing command
  555. While the novice commands pack the file automatically, the expert
  556. commands allow you to control when you will pack the archive. This is
  557. done by the 'P' command, or the 'P' option to most other commands which
  558. may delete files.
  559. .DS
  560. Example - add files and pack:
  561. .ti +.5i
  562. .CW "zoo aP arch file1 file2
  563. .sp
  564. Example - delete files and pack:
  565. .ti +.5i
  566. .CW "zoo dP arch part1.old
  567. .sp
  568. Example - update archive and pack:
  569. .ti +.5i
  570. .CW "zoo aunP arch mystuff.*
  571. .br
  572. or, since the novice commands pack every time
  573. .ti +.5i
  574. .CW "zoo -update arch mystuff.*
  575. .DE
  576. .H 2 "Generations
  577. .P
  578. .IX "generations
  579. There are times when you might want to save an old version of a file,
  580. even though you are working with a newer version. This allows you to
  581. "fall back" if you find a problem. Rather than using the term 'version,'
  582. .IX "VMS
  583. \*z uses the VMS term 'generations.' Normally only one generation of a
  584. file is saved in an archive.
  585. .P
  586. .IX "generations, enabling
  587. .IX "+ option, enable generations
  588. To allow generations to be used with an archive, first they must be
  589. enabled for the archive. This is usually done when the archive is
  590. created, by adding the option '+' to the 'a' command. To determine how
  591. many generations are to be saved, the "generation limit" must be set. If
  592. you want to save just the version of a file previous to the current
  593. version, you can set the limit to one. If you want the last four
  594. versions, the generation limit should be four, etc.
  595. .P
  596. .IX "generation limit setting
  597. The limit may be set using one of two methods, or both if needed. The
  598. first is to set the limit on the entire archive. For instance, if you
  599. set the archive limit to three, the current version and two most recent
  600. versions of each file will be saved.
  601. .DS
  602. .nf
  603. Create the file with generations enabled:
  604. .ti +.5i
  605. .CW "zoo a+ arch file1 file2
  606. .sp
  607. Set the limit for the archive to three:
  608. .ti +.5i
  609. .CW "zoo glA=3 arch
  610. .DE
  611. Now every time you save a file, up to two previous versions will be
  612. saved. If there are already three versions saved, the oldest version
  613. will be deleted. Look at the listing of a archive which has multiple
  614. versions saved.
  615. .DS
  616. .nf
  617. Sample of an archive with generations:
  618. .sp
  619. .in +.5i
  620. .CW
  621. Archive FIZ.zoo:
  622. Length    CF  Size Now  Date      Time
  623. --------  --- --------  --------- --------
  624.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1;1
  625.       29   0%       29   2 Sep 88 17:31:16     xxx;2
  626.       29   0%       29   2 Sep 88 17:32:06     xxx;3
  627.       29   0%       29   2 Sep 88 17:32:42     xxx;4
  628. --------  --- --------  --------- --------
  629.     3936  42%     2298     4 files
  630. ------------
  631. There is 1 deleted file.
  632. .CE
  633. .DE
  634. .P
  635. Note that there are three different version of the file "xxx" in the
  636. archive. Also note that there is one deleted file. This happens to be
  637. the first version of "xxx" which was deleted when version four was
  638. added.
  639. .P
  640. .IX "generations, listing
  641. Now, what if you want generations on just one file, or different limits
  642. on some files? In that case you can set a limit on any file or group of
  643. files which will override the limit set on the archive. You may also
  644. display the limit using the 'g' option for list.
  645. .P
  646. Here's an example based on the previous archive. What you see is the
  647. list with generation information, the command to change it, adding a new
  648. file, and the listing after the file has been added.
  649. .DS
  650. .nf
  651. .in +1i
  652. .ti -1i
  653. Add the next file
  654. .ti -.5i
  655. .CW
  656. zoo a FIZ fiz.1
  657. Zoo:  fiz.1 --  (43%) added
  658. .CE
  659. .sp
  660. .ti -1i
  661. Reset the generation limit for that file
  662. .ti -.5i
  663. .CW
  664. zoo gl=1 FIZ fiz.1
  665. Zoo:  fiz.1;1        -- adjusted to 1
  666. .ti -.5i
  667. zoo Ldg FIZ
  668. .sp
  669. Archive FIZ.zoo:
  670. Length    CF  Size Now  Date      Time
  671. --------  --- --------  --------- --------
  672.       29   0%       29   2 Sep 88 17:32:42    0g  D xxx;1
  673.       29   0%       29   2 Sep 88 17:47:14    0g    xxx;2
  674.       29   0%       29   2 Sep 88 17:47:22    0g    xxx;3
  675.       29   0%       29   2 Sep 88 17:47:30    0g    xxx;4
  676.     3849  43%     2211   3 Feb 88 21:55:56    1g    fiz.1;1
  677. --------  --- --------  --------- --------
  678.     3965  41%     2327     5 files
  679. ------------
  680. D: deleted file.
  681. Archive generation limit is 3.
  682. .CE
  683. .DE
  684. .P
  685. Looking at the listing, note that the generation information says the
  686. archive limit is three. Since the limit on the file "xxx" is zero, the
  687. archive default is used. Since the limit on file "fiz.1" is one, there
  688. should be only one version of the file kept. Let's test this.
  689. .DS
  690. .nf
  691. .in +1i
  692. .ti -1i
  693. Add the file twice more and view
  694. .CW
  695. zoo a FIZ fiz.1
  696. Zoo:  fiz.1 --  (43%) replaced+
  697. .sp
  698. zoo a FIZ fiz.1
  699. Zoo:  fiz.1 --  (43%) replaced+
  700. .sp
  701. zoo Ldg FIZ
  702. .sp
  703. Archive FIZ.zoo:
  704. Length    CF  Size Now  Date      Time
  705. --------  --- --------  --------- --------
  706.       29   0%       29   2 Sep 88 17:32:42    0g  D xxx;1
  707.       29   0%       29   2 Sep 88 17:47:14    0g    xxx;2
  708.       29   0%       29   2 Sep 88 17:47:22    0g    xxx;3
  709.       29   0%       29   2 Sep 88 17:47:30    0g    xxx;4
  710.     3849  43%     2211   3 Feb 88 21:55:56    1g  D fiz.1;1
  711.     3849  43%     2211   3 Feb 88 21:55:56    1g  D fiz.1;2
  712.     3849  43%     2211   3 Feb 88 21:55:56    1g    fiz.1;3
  713. --------  --- --------  --------- --------
  714.    11663  42%     6749     7 files
  715. ------------
  716. D: deleted file.
  717. Archive generation limit is 3.
  718. .CE
  719. .DE
  720. .P
  721. After adding the file several time, note that all generations other than
  722. the most recent have been deleted. This is just what we wanted.
  723. Obviously if you wanted to keep a large number of generations of one
  724. file you could set the archive limit higher and lower the limit of other
  725. files. This is useful, if not convenient.
  726. .H 2 "Directory structures
  727. .P
  728. .IX "using subdirectories
  729. .IX "subdirectories
  730. Most operating systems have a multi-level structure of directories, and
  731. what are known as "subdirectories". \*z offers options about using these
  732. on the add command and the extract command. Normally any directory
  733. information you specify is preserved and available for use when the
  734. files are extracted. By default directory information is saved when a
  735. file is added, but not used when it is extracted. These defaults seem to
  736. represent the most common cases.
  737. .H 2 "Matching of filenames
  738. .P
  739. .IX "subdirectories and wildcards
  740. .IX "wildcards and subdirectories
  741. When \*z examines the filenames on the command line, an unintuitive name
  742. matching paradigm is used. If the name contains a path delimiter, such
  743. .IX "UNIX
  744. .IX "MS-DOS
  745. as '/' in UNIX or '\\' in MS-DOS, only the name as entered is matched.
  746. .DS
  747. .nf
  748. For example:
  749. .ti +.5i
  750. .CW "zoo D arch src/subz.c
  751. .DE
  752. Will require an exact match before the file is deleted. However, if you
  753. just specify a filename without a path delimiter, \fIall\fR files of
  754. that name will be deleted, in any directory.
  755. .DS
  756. .nf
  757. Consider this archive:
  758. .sp
  759. .CW
  760. Archive FIZ.zoo:
  761. Length    CF  Size Now  Date      Time
  762. --------  --- --------  --------- --------
  763.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  764.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c
  765.     3849  43%     2211   6 Sep 88 09:33:54     t1/fiz.1
  766. --------  --- --------  --------- --------
  767.    14562  45%     7985     3 files
  768. .CE
  769. .DE
  770. .P
  771. .IX "subdirectory name matching limitations
  772. There are two files, with different dates, named "fiz.1" and "t1/fiz.1". If
  773. you use the delete command on "t1/fiz.1", only that file will be
  774. deleted. If, however, you use the delete command with the name "fiz.1",
  775. both files of that name will be deleted. Currently there is no way to
  776. delete just the file with no path information. This limitation also
  777. applies to other commands which require specifying names in the archive,
  778. such as list and extract.
  779. .H 2 "Comments
  780. .P
  781. .IX "comments
  782. \*z provides two type of comments, one on files to explain what each
  783. file does, and one on the archive as a whole to explain what's in the
  784. archive. The comment on the entire archive might be something like
  785. "analize heat test data," while individual files might have comments
  786. like "validate data routine," and "plot graphs on printer in graphics
  787. mode." The actual commands used to do this are discussed under adding
  788. and listing data sections.
  789. .H 1 "Advanced command usage
  790. .H 2 "adding data to an archive
  791. .H 3 "Move updated files to an archive
  792. .P
  793. .IX "combining update and move
  794. .IX "update and move, combining
  795. .IX "move, combining and update
  796. While the novice commands support the most common operations, there are
  797. several things which can only be done by the expert commands. One of
  798. these is to update an archive and delete the added files. This is a
  799. combination of the -update and -move commands.
  800. .DS
  801. The expert command to do this is:
  802. .ti +.5i
  803. .CW "zoo aunM arch file1 file2
  804. .DE
  805. .P
  806. Note that this is a combination of options, 'u' to update files which
  807. are newer than what's in the archive, 'n' for new files not in the
  808. archive at all, and 'M' to move the added files to the archive. Files
  809. which are current in the archive will not be replaced, saving time (and
  810. if packing is not done, file space).
  811. .H 3 "Packing as an option to add
  812. .IX "packing while adding files
  813. .IX "adding files and packing
  814. Note that because this is an expert command, the archive is not packed,
  815. and any files replaced will still be in the archive. Adding the 'P'
  816. option to the command causes the archive to be packed, and the unpacked
  817. archive to be saved as 'file.bak'.
  818. .DS
  819. For example:
  820. .ti +.5i
  821. .CW "zoo aunMP arch file1 file2
  822. .DE
  823. will pack the archive "arch.zoo" and leave the unpacked version as
  824. "arch.bak".
  825. .H 3 "Adding files from subdirectories
  826. .P
  827. .IX "adding files from subdirectories
  828. .IX "subdirectories
  829. .IX "subdirectories, adding files from
  830. When files are in subdirectories, one thing you can do is to have a
  831. separate archive for each subdirectory. Using \*z you may also have
  832. files from several subdirectories in anarchive. The following examples
  833. .IX "MS-DOS
  834. .IX "UNIX
  835. shown how this is done using MS-DOS or UNIX.
  836. .DS
  837. .nf
  838. MS-DOS:
  839. .ti +.5i
  840. .CW "zoo a src\\\\* doc\\\\*
  841. .sp
  842. UNIX:
  843. .ti +.5i
  844. .CW "zoo a src/* doc/*
  845. .DE
  846. Note that the only difference is that the '\\' delimiter is used in
  847. MS-DOS instead of the more common '/' used in UNIX. When you list an
  848. archive created this way, the listing looks like this.
  849. .DS
  850. .nf
  851. Subdirectory archive listing
  852. .sp
  853. .in +.5i
  854. .CW
  855. Archive FIZsdir.zoo:
  856. Length    CF  Size Now  Date      Time
  857. --------  --- --------  --------- --------
  858.     3849  43%     2211   2 Sep 88 14:29:02     doc/fiz.1
  859.     6864  48%     3563   2 Sep 88 14:29:02     src/fiz.c
  860. --------  --- --------  --------- --------
  861.    10713  46%     5774     2 files
  862. .CE
  863. .DE
  864. .IX "subdirectory, extracting files from
  865. .IX "extracting files from subdirectories
  866. There are a number of options for extracting these files, allowing you to
  867. use or ignore the subdirectory information. If you want to create the
  868. archive file without the directory names saved as part of the filename,
  869. the ':' option will allow you to do this. One reason to do this is if
  870. you are going to create an archive from a subdirectory and don't want to
  871. have to change to the directory, or if you know the files will be
  872. extracted in another directory.
  873. .DS
  874. .nf
  875. Creating an archive from a subdirectory:
  876. .ti +.5i
  877. .CW "zoo a: arch src/* src/*
  878. .sp
  879. Gives listing:
  880. .sp
  881. .in +.5i
  882. .CW
  883. Archive FIZsdir.zoo:
  884. Length    CF  Size Now  Date      Time
  885. --------  --- --------  --------- --------
  886.     3849  43%     2211   2 Sep 88 14:29:02     fiz.1
  887.     6864  48%     3563   2 Sep 88 14:29:02     fiz.c
  888. --------  --- --------  --------- --------
  889.    10713  46%     5774     2 files
  890. .CE
  891. .DE
  892. .H 3 "Getting the list of files from another source
  893. .P
  894. .IX "adding lists of files
  895. .IX "standard input, reading filenames from
  896. .IX "filesnames, reading from standard input
  897. If you're storing a large number of files in an archive, it may be
  898. inconvenient to type in the names of the files each time you work on the
  899. archive. \*z allows you to take the files list from a file using the 'I'
  900. option. This option may be applied to a number of commands, but
  901. typically you use it with the 'a' command when creating a new archive,
  902. or the 'aun' command when updating an archive.
  903. .DS
  904. .nf
  905. Example of file list for a file
  906. .in +.5i
  907. .CW "zoo aI arch < files.lst
  908. .DE
  909. Where the file "files.lst" has been created with a list of the files
  910. you're maintaining in this archive. Since this is a simple text file,
  911. you can create it with an editor, and program, or by typing it in.
  912. .P
  913. If you are on a system which supports pipes between commands, you can
  914. use a program to generate a list and send it into \*z without saving it
  915. in a file. The commands "find" on UNIX and "scan" on MS-DOS are useful.
  916. .DS
  917. .IX "UNIX
  918. .IX "MS-DOS
  919. .nf
  920. .in +.5i
  921. .ti -.5i
  922. File list by pipes - UNIX:
  923. .sp
  924. .CW "find . -type f -mtime -4 -print | zoo aI thisweek
  925. .sp
  926. .ti -.5i
  927. File list by pipes - MS-DOS:
  928. .sp
  929. .CW "scan -R *.doc | zoo aI thisweek
  930. .DE
  931. .H 3 "Adding comments to the archive
  932. .P
  933. .IX "comments, adding
  934. Comments may be the entire archive or on individual files, or both. The
  935. concept is discussed in detail in the "Other Concepts" section. Comments
  936. may be added to a file at the time the file is added to the archive.
  937. This is done by the 'c' option. Here is an example of adding data to and
  938. archive with a comment on each file, then adding a comment to the
  939. archive as a whole.
  940. .DS
  941. .nf
  942. .in +.5i
  943. .CW
  944. zoo ac htanal *.for
  945. .sp
  946. Zoo:  main.for    --  ( 0%) added
  947. [Enter comment for main.for then type /END]
  948. Read four heat treat test results files and prepare a graph on the
  949. dot matrix printer.
  950. /end
  951. Zoo:  plot.for    --  ( 0%) added
  952. [Enter comment for plot.for then type /END]
  953. Convert X,Y data to plot points in 240dpi mode
  954. /end
  955. Zoo:  screen.for  --  ( 0%) added
  956. [Enter comment for screen.for then type /END]
  957. FORTRAN version of curses, handle screen display and buffering.
  958. /end
  959. Zoo:  strings.for --  ( 0%) added
  960. [Enter comment for strings.for then type /END]
  961. String manipulation package
  962. /end
  963. .sp 2
  964. zoo cA htanal
  965. .sp
  966. [Enter archive comment for htanal.zoo then type /END]
  967. Heat treat analysis program, prepare plot of results on the dot
  968. matrix printer
  969. /end
  970. .CE
  971. .DE
  972. .P
  973. The first command adds all of the FORTRAN files to the archive, each
  974. with a comment. A comment is then added to the entire archive which
  975. describes the function of the package. If you want to modify the
  976. comments already in the archive, either file or archive, you may use the
  977. 'c' or 'cA' commands. The old comment will be listed, and you may either
  978. type a new comment or just press RETURN to keep the existing comment.
  979. .H 3 "Using generations
  980. .P
  981. .IX "generations
  982. Generations are really useful as a way to keep back versions of
  983. files handy in case you have to roll back, or fix a bug in an older
  984. version. Here's how it works.
  985. .P
  986. .IX "generation limit
  987. There is a limit on the number of generations of a file which will be
  988. kept, set on each individual file, and by default zero. This doesn't
  989. mean that no generations are saved, it means that there's no limit.
  990. There's also a limit on the whole archive, called the archive limit, and
  991. that's set by default to one. The maximum number of generations saved is
  992. the lower of the two limits for any given file.
  993. .P
  994. There are three ways to set up an archive with generations. The simplest
  995. is to leave the file limits at the default (zero) and set the archive
  996. limit. What you do is to create an archive using the 'a+' command to add
  997. files and turn on generations. Then you use the 'glA=' command to set
  998. the limit on generations for the whole archive.
  999. .DS
  1000. It's easier than it sounds, here's an example:
  1001. .sp
  1002. .nf
  1003. .in +.5i
  1004. .CW
  1005. zoo a+ demo foo1
  1006. Zoo:  foo1 --  (67%) added
  1007. .sp
  1008. zoo glA=3 demo
  1009. Archive generation limit is now 3
  1010. .CE
  1011. .P
  1012. .fi
  1013. .ft R
  1014. Now we have an archive with one generation of files, and no more than
  1015. three generations of files to be saved for any file. After changing the
  1016. file and adding new versions to the archive, here's what the archive
  1017. looks like. Notice that deleted files haven't been removed, to make it
  1018. easy to see what's happening.
  1019. .sp 2
  1020. .nf
  1021. .CW
  1022. zoo Ldg demo
  1023. .sp
  1024. Archive demo.zoo:
  1025. Length    CF  Size Now  Date      Time
  1026. --------  --- --------  --------- --------
  1027.     5074  67%     1690  18 Oct 88 10:36:52    0g  D foo1;1
  1028.     5103  67%     1705  18 Oct 88 10:45:10    0g    foo1;2
  1029.     5132  67%     1715  18 Oct 88 10:45:14    0g    foo1;3
  1030.     5161  67%     1725  18 Oct 88 10:45:20    0g    foo1;4
  1031. --------  --- --------  --------- --------
  1032.    20470  67%     6835     4 files
  1033. ------------
  1034. D: deleted file.
  1035. Archive generation limit is 3.
  1036. .CE
  1037. .DE
  1038. .P
  1039. Remember that there are three ways to use generations. The second is if
  1040. I have one file which does not require many generations. In that case I
  1041. would set the archive generation limit to the value for all the rest of
  1042. the files in the archive, and then set the limit on the one file which
  1043. needs a special value.
  1044. .DS
  1045. It would look like this:
  1046. .nf
  1047. .in +.5i
  1048. .CW
  1049. zoo a+ demo foo1 foo2 foo3
  1050. Zoo:  foo1 --  (67%) added
  1051. Zoo:  foo2 --  (21%) added
  1052. Zoo:  foo3 --  (77%) added
  1053. .sp
  1054. zoo glA=5 demo
  1055. Archive generation limit is now 5
  1056. .sp
  1057. zoo gl=2 demo foo2
  1058. Zoo: foo2;1          -- adjusted to 2
  1059. .CE
  1060. .DE
  1061. .P
  1062. The final way to manage generations is to set the archive limit to zero,
  1063. allowing any number of versions as default, and then setting the limit
  1064. on each file individually. This is almost never needed, but it does
  1065. allow you to control the generation limit of each file completely.
  1066. .H 2 "Listing the archive
  1067. .H 3 "Generation information
  1068. .P
  1069. .IX "generations, listing
  1070. .IX "listing generations
  1071. There are several options which will help you work with generations. The
  1072. simplist is to use the 'L' command instead of the 'l'. Here is a simple
  1073. archive, listed in two ways.
  1074. .DS
  1075. .nf
  1076. Listed with 'l':
  1077. .sp
  1078. .in +.5i
  1079. .CW
  1080. Archive FIZ.zoo:
  1081. Length    CF  Size Now  Date      Time
  1082. --------  --- --------  --------- --------
  1083.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c;1
  1084.       29   0%       29  31 Aug 88 16:29:04     xxx;2
  1085. --------  --- --------  --------- --------
  1086.     6893  48%     3592     2 files
  1087. .CE
  1088. .DE
  1089. .DS
  1090. .nf
  1091. Listed with 'L':
  1092. .sp
  1093. .in +.5i
  1094. .CW
  1095. Archive FIZ.zoo:
  1096. Length    CF  Size Now  Date      Time
  1097. --------  --- --------  --------- --------
  1098.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c;1
  1099.       29   0%       29  31 Aug 88 16:29:04     xxx;1
  1100.       29   0%       29  31 Aug 88 16:29:04     xxx;2
  1101. --------  --- --------  --------- --------
  1102.     6922  48%     3621     3 files
  1103. .CE
  1104. .DE
  1105. .P
  1106. .IX "L command, list all generations
  1107. Note that using 'l' only the most current version is displayed, while
  1108. if you use 'L' all non-deleted versions are listed.
  1109. .P
  1110. .IX "g option, list generation limits
  1111. .IX "generation limits, listing
  1112. If you set limits on generations of individual files, then you will
  1113. want to see those limits. The option to do this is 'g', display
  1114. generation info. Without that option the archive and file generation
  1115. limits will not be displayed, although the 'L' command will display
  1116. undeleted versions.
  1117. .DS
  1118. .nf
  1119. An archive with generations, using 'L':
  1120. .sp
  1121. .in +.5i
  1122. .CW
  1123. Archive FIZ.zoo:
  1124. Length    CF  Size Now  Date      Time
  1125. --------  --- --------  --------- --------
  1126.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c;1
  1127.       29   0%       29  31 Aug 88 16:29:04     xxx;1
  1128.       29   0%       29  31 Aug 88 16:29:04     xxx;2
  1129. --------  --- --------  --------- --------
  1130.     6922  48%     3621     3 files
  1131. .CE
  1132. .DE
  1133. .DS
  1134. .nf
  1135. An archive with generations, using 'Lg':
  1136. .sp
  1137. .in +.5i
  1138. .CW
  1139. Archive FIZ.zoo:
  1140. Length    CF  Size Now  Date      Time
  1141. --------  --- --------  --------- --------
  1142.     6864  48%     3563   3 Feb 88 21:52:16    0g   fiz.c;1
  1143.       29   0%       29  31 Aug 88 16:29:04    0g   xxx;1
  1144.       29   0%       29  31 Aug 88 16:29:04    0g   xxx;2
  1145. --------  --- --------  --------- --------
  1146.     6922  48%     3621     3 files
  1147. ------------
  1148. Archive generation limit is 3.
  1149. .CE
  1150. .DE
  1151. .H 3 "Listing deleted files
  1152. .P
  1153. .IX "listing deleted files
  1154. .IX "deleted files, listing
  1155. .IX "d option, listing deleted files
  1156. If you have modified an archive with the expert commands, and have not
  1157. yet packed the archive to remove deleted files, you may view those files
  1158. using the 'd' option to the 'l' or 'L' commands.
  1159. .DS
  1160. .nf
  1161. This is what the listing looks like with 'L':
  1162. .sp
  1163. .in +.5i
  1164. .CW
  1165. Archive FIZsim.zoo:
  1166. Length    CF  Size Now  Date      Time
  1167. --------  --- --------  --------- --------
  1168.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c
  1169.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  1170. --------  --- --------  --------- --------
  1171.    10713  46%     5774     2 files
  1172. ------------
  1173. There is 1 deleted file.
  1174. .CE
  1175. .DE
  1176. .DS
  1177. .nf
  1178. And this listing used 'Ld':
  1179. .sp
  1180. .in +.5i
  1181. .CW
  1182. Archive FIZsim.zoo:
  1183. Length    CF  Size Now  Date      Time
  1184. --------  --- --------  --------- --------
  1185.     3849  43%     2211   3 Feb 88 21:55:56    D fiz.1
  1186.     6864  48%     3563   3 Feb 88 21:52:16      fiz.c
  1187.     3849  43%     2211   3 Feb 88 21:55:56      fiz.1
  1188. --------  --- --------  --------- --------
  1189.    14562  45%     7985     3 files
  1190. ------------
  1191. D: deleted file.
  1192. .CE
  1193. .DE
  1194. .P
  1195. Note that the listing without the 'd' option simply informs you of the
  1196. number of selected files, while the listing with 'd' shows you the file
  1197. information just as it does the undeleted files.
  1198. .H 3 "Listing multiple archives
  1199. .P
  1200. .IX "listing multiple archives
  1201. .IX "L command, listing multiple archives
  1202. .IX "multiple archives, listing
  1203. The command 'L' allows more than one archive to be listed. In fact the
  1204. general form allows for any number of archives to be specified, each
  1205. affected by the options of the 'L' command. The restriction is that you
  1206. can't just list some files, you get a listing of all undeleted files in
  1207. all archives.
  1208. .DS
  1209. .nf
  1210. Command "zoo L FIZ FIZsim":
  1211. .sp
  1212. .in +.5i
  1213. .CW
  1214. Archive FIZ.zoo:
  1215. Length    CF  Size Now  Date      Time
  1216. --------  --- --------  --------- --------
  1217.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c;1
  1218.       29   0%       29  31 Aug 88 16:29:04     xxx;1
  1219.       29   0%       29  31 Aug 88 16:29:04     xxx;2
  1220. --------  --- --------  --------- --------
  1221.     6922  48%     3621     3 files
  1222. .sp
  1223. Archive FIZsim.zoo:
  1224. Length    CF  Size Now  Date      Time
  1225. --------  --- --------  --------- --------
  1226.     6864  48%     3563   3 Feb 88 21:52:16     fiz.c
  1227.     3849  43%     2211   3 Feb 88 21:55:56     fiz.1
  1228. --------  --- --------  --------- --------
  1229.    10713  46%     5774     2 files
  1230. ------------
  1231. There is 1 deleted file.
  1232. .CE
  1233. .DE
  1234. .H 3 "Creating a simple archive database file
  1235. .P
  1236. .IX "creating archive content listings
  1237. .IX "content listsings, creating
  1238. .IX "database input files, creating
  1239. The 'a' and 'q' options may be used to create a database file which may
  1240. be used as input to your favorite database program, or just sorted and
  1241. viewed on the screen or paper.
  1242. .DS
  1243. .nf
  1244. Creating a simple files list from several archives:
  1245. .sp
  1246. .CW
  1247. .ti +.5i
  1248. zoo Laq FIZ FIZsim
  1249. .sp
  1250. .in +.5i
  1251.     6864  48%     3563   3 Feb 88 21:52:16     FIZ.zoo fiz.c;1
  1252.       29   0%       29  31 Aug 88 16:29:04     FIZ.zoo xxx;1
  1253.       29   0%       29  31 Aug 88 16:29:04     FIZ.zoo xxx;2
  1254.     6864  48%     3563   3 Feb 88 21:52:16     FIZsim.zoo fiz.c
  1255.     3849  43%     2211   3 Feb 88 21:55:56     FIZsim.zoo fiz.1
  1256. .CE
  1257. .DE
  1258. the 'a' option causes the name of the archive to be listed on each line,
  1259. instead at the start of the listing. The 'q' option suppresses the
  1260. headings and summaries, leaving just one line per file.
  1261. .P
  1262. The eighth field is the archive name, and the ninth is the file name.
  1263. The file may be sorted on either of those, or the size, date modified,
  1264. etc. Any or all of those fields may be used a indices for a real
  1265. database program, if the number of files and archives is large enough to
  1266. warrant that.
  1267. .H 3 "Listing comments
  1268. .P
  1269. .IX "listing comments
  1270. .IX "comments, listing
  1271. An archive is normally listed using the 'l' command, and only the actual
  1272. contents are shown. If the 'v' option is added, or if 'v' is used as a
  1273. command, the comment at the start of the archive which describes the
  1274. package as a whole is displayed. If the 'V' option or command is used,
  1275. the comments on individual files are shown as well. Here are examples of
  1276. listing an archive, first with just the descriptive archive comment, and
  1277. then with the comments on the individual files as well.
  1278. .sp
  1279. .DS
  1280. .nf
  1281. .CW
  1282. .in +.5i
  1283. zoo v htanal
  1284. .sp
  1285. Archive htanal.zoo:
  1286. >> Heat treat analysis program, prepare plot of results
  1287. Length    CF  Size Now  Date      Time
  1288. --------  --- --------  --------- --------
  1289.       29   0%       29  17 Oct 88 17:23:24   C main.for
  1290.       29   0%       29  17 Oct 88 17:23:24   C plot.for
  1291.       29   0%       29  17 Oct 88 17:23:24   C screen.for
  1292.       29   0%       29  17 Oct 88 17:23:24   C strings.for
  1293. --------  --- --------  --------- --------
  1294.      116   0%      116     4 files
  1295. ------------
  1296. C: file has attached comment.
  1297. .CE
  1298. .DE
  1299. .sp 2
  1300. .DS
  1301. .nf
  1302. .CW
  1303. .in +.5i
  1304. zoo V htanal
  1305. .sp
  1306. Archive htanal.zoo:
  1307. >> Heat treat analysis program, prepare plot of results
  1308. Length    CF  Size Now  Date      Time
  1309. --------  --- --------  --------- --------
  1310.       29   0%       29  17 Oct 88 17:23:24   C main.for
  1311.  |Read four heat treat test results files and prepare a graph on the
  1312.  |dot matrix printer.
  1313.       29   0%       29  17 Oct 88 17:23:24   C plot.for
  1314.  |Convert X,Y data to plot points in 240dpi mode
  1315.       29   0%       29  17 Oct 88 17:23:24   C screen.for
  1316.  |FORTRAN version of curses, handle screen display and buffering.
  1317.       29   0%       29  17 Oct 88 17:23:24   C strings.for
  1318.  |String manipulation package
  1319. --------  --- --------  --------- --------
  1320.      116   0%      116     4 files
  1321. ------------
  1322. .CE
  1323. .DE
  1324. .H 2 "Extracting files
  1325. .H 3 "Extracting to a subdirectory
  1326. .P
  1327. .IX "extracting to a subdirectory
  1328. .IX "subdirectory, extracting to
  1329. .IX "/ option, extract to subdirectory
  1330. Since the \*z default is to save directory information, you may want to
  1331. use that information at some time. The default is to extract all files
  1332. into the current directory. If the option '/' is added to the expert
  1333. extract command, the files will be extracted into their original
  1334. directories, \fIif and only if the directories exist\fR. If you want to
  1335. create the directories, the '//' option will do that, creating any
  1336. needed directories as the files are extracted.
  1337. .DS
  1338. .nf
  1339. Consider the archive:
  1340. .sp
  1341. .in +.5i
  1342. .CW
  1343. Archive myarch.zoo:
  1344. Length    CF  Size Now  Date      Time
  1345. --------  --- --------  --------- --------
  1346.     3849  43%     2211   2 Sep 88 14:29:02     doc/fiz.1
  1347.     6864  48%     3563   2 Sep 88 14:29:02     src/fiz.c
  1348. --------  --- --------  --------- --------
  1349.    10713  46%     5774     2 files
  1350. .CE
  1351. .sp
  1352. .ti -.5i
  1353. And the command:
  1354. .CW zoo x myarch
  1355. .DE
  1356. .P
  1357. The files "fiz.1" and "fiz.c" will be extracteded in the current directory.
  1358. To extract the files in their original directories, the option '//' may
  1359. be used.
  1360. .DS
  1361. .nf
  1362. Creating directories and extracting:
  1363. .sp
  1364. .in +.5i
  1365. .CW "zoo x// myarch
  1366. .DE
  1367. .P
  1368. Finally the '/' option extractes files into their original directories if
  1369. the directories exist. In the case where some directories exist and
  1370. others don't only the files for which you have directories will be
  1371. extracted, and you will get a warning for each file not restored.
  1372. .H 3 "Extracting quietly
  1373. .P
  1374. .IX "q command, quiet operation
  1375. .IX "quiet extract
  1376. The 'q' command may be used with the 'x' command to extract files
  1377. without a message for each file. Although most people want a message to
  1378. assure them that the file was extracted, this may be useful if the
  1379. extract affects a number of files and only the error messages (if any)
  1380. are needed.
  1381. .H 3 "Using wildcards for extract
  1382. .P
  1383. .IX "extract using wildcards
  1384. .IX "wildcards, extract using
  1385. In general wildcards may be used to extract files as well as save them.
  1386. However, on some systems where wildcard names are expanded before the
  1387. command is executed, it will be necessary to use the correct escape
  1388. sequence to prevent the name from being changed.
  1389. .DS
  1390. .IX "UNIX
  1391. .IX "MS-DOS
  1392. .nf
  1393. Extract on MS-DOS
  1394. .sp
  1395. .ti +.5i
  1396. .CW "zoo x arch *.doc
  1397. .sp
  1398. Extract on UNIX
  1399. .sp
  1400. .ti +.5i
  1401. .CW "zoo x arch "*.doc"
  1402. .DE
  1403. Since the UNIX system expands the wildcard names for you, zoo is a
  1404. special case, and you must quote the name. Quoting is not needed on
  1405. MS-DOS and VMS.
  1406. .H 3 "Extracting deleted files
  1407. .P
  1408. Although careful use of generations will avoid the need to recover the
  1409. deleted versions of files, you may at some time have an archive which
  1410. contains a deleted file, and wish to recover it. Consider the archive
  1411. below.
  1412. .DS
  1413. .nf
  1414. An archive with a deleted file:
  1415. .sp
  1416. .in +.5i
  1417. .CW
  1418. zoo ld FIZ
  1419. .sp
  1420. Archive FIZ.zoo:
  1421. Length    CF  Size Now  Date      Time
  1422. --------  --- --------  --------- --------
  1423.     3849  43%     2211   3 Feb 88 21:55:56      fiz.1
  1424.     6864  48%     3563   3 Feb 88 16:21:36    D fiz.c
  1425.     6864  48%     3563   3 Feb 88 21:52:16      fiz.c
  1426.     3849  43%     2211   6 Sep 88 09:33:54      t1/fiz.1
  1427. --------  --- --------  --------- --------
  1428.    21426  46%    11548     4 files
  1429. ------------
  1430. D: deleted file.
  1431. .CE
  1432. .DE
  1433. .P
  1434. To make the situation worse, there is also an undeleted file by the same
  1435. name. What you need to do is to recover the the older version of the
  1436. file which has been deleted. Note that if you had used the novice
  1437. version of the add command it would have packed the archive and the
  1438. deleted file would be gone. I could be found in the "FIZ.bak" copy of
  1439. the archive, however.
  1440. .P
  1441. .IX "extracting deleted files
  1442. .IX "d option, extracting deleted files
  1443. The extract command may be used with the 'd' option, which allows \*z to
  1444. extract deleted files as well as active files, or the 'dd' option, which
  1445. forces extraction of \fIonly\fR deleted files. Since you have an active
  1446. file of the same name, you will want the 'dd' option. Don't forget to
  1447. delete whatever version of the file is in your current directory, or you
  1448. will need to use still more options.
  1449. .DS
  1450. .nf
  1451. Extracting the deleted file:
  1452. .sp
  1453. .in +.5i
  1454. .CW
  1455. zoo xdd FIZ fiz.c
  1456. Zoo:  fiz.c          -- extracted
  1457. .CE
  1458. .DE
  1459. The message indicates that the deleted version of the file has been
  1460. recovered. Note that the generations feature is intended to eliminate
  1461. the need to do this type of operation.
  1462. .ne 8
  1463. .H 3 "Extract and overwrite
  1464. .ce
  1465. "You are lost in a twisty maze of options, all alike"
  1466. .P
  1467. .IX "extracting with overwrite
  1468. .IX "overwrite files on extract
  1469. .IX "O option, overwrite existing files
  1470. There are three options which allow you to extract files from an archive
  1471. without deleting all of the files in your current directory structure.
  1472. These are generally useful only when the existing file have become
  1473. damaged in some way, such as trying to make changes to source or
  1474. documentation with a new editor, etc.
  1475. .P
  1476. The 'O' option allows \*z to overwrite existing files. Without this
  1477. option \*z will ask permission to overwrite an existing file before
  1478. replacing it. While this is useful as a safety measure, there are times
  1479. when you will want to "just do it." When the 'O' option is specified,
  1480. existing file will be replaced unless they are newer than the file in
  1481. the archive or read-only. Using the option "OO" instead of 'O' allows
  1482. \*z to overwrite "read-only" files. If you want to replace existing
  1483. files you must use one of these two options.
  1484. .P
  1485. .IX "extracting read-only files
  1486. .IX "read-only files, extracting
  1487. .IX "S option, overwrite read-only files
  1488. .IX "overwriting newer files on extract
  1489. Even when using the 'O' option, an existing file will not be overwritten
  1490. if it is newer than the version in the archive. This would happen if you
  1491. extracted a file, changed it, and then found that the changes were
  1492. incorrect. To allow \*z to replace a newer files, you need the option
  1493. 'S', which specifies that a superseded file will be extracted. The
  1494. 'SOO" combination of options will cause \*z to extract any file
  1495. specified unconditionally.
  1496. .H 3 "Extracting generations
  1497. .P
  1498. .IX "generations, extracting
  1499. .IX "extracting generations
  1500. If you have an archive with previous generations, at some time you will
  1501. want to extract a generation older than the most current. To do this
  1502. you specify the generation number as part of the filename in the 'x'
  1503. command.
  1504. .DS
  1505. Let's look at the listing of an archive with generations, and then the
  1506. command to extract an old generation:
  1507. .sp
  1508. .nf
  1509. .CW
  1510. .in +.5i
  1511. zoo Ldg demo
  1512. .sp
  1513. Archive demo.zoo:
  1514. Length    CF  Size Now  Date      Time
  1515. --------  --- --------  --------- --------
  1516.     5074  67%     1690  18 Oct 88 10:36:52    0g  D foo1;1
  1517.     5103  67%     1705  18 Oct 88 10:45:10    0g    foo1;2
  1518.     5132  67%     1715  18 Oct 88 10:45:14    0g    foo1;3
  1519.     5161  67%     1725  18 Oct 88 10:45:20    0g    foo1;4
  1520. --------  --- --------  --------- --------
  1521.    20470  67%     6835     4 files
  1522. ------------
  1523. D: deleted file.
  1524. Archive generation limit is 3.
  1525. .sp 2
  1526. zoo x demo foo1;2
  1527. Zoo: foo1;2         -- extracted
  1528. .CE
  1529. .DE
  1530. .P
  1531. .IX "generation delimiters
  1532. Notice that the characters ';' or ':' may be used to separate the
  1533. filename from the generation. The ';' is customary in VMS, while it's
  1534. inconvenient in UNIX, where the ':' may be used. At this time there's no
  1535. way to bypass the generation character and access a file with either
  1536. character in its name.
  1537. .OP
  1538. .ls 1
  1539. .H 1 Index
  1540. .so uguide.idx
  1541. .de PX        \" no offset on these
  1542. ..
  1543. .TC
  1544.