Annotation of 43BSDReno/usr.sbin/mtree/mtree.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1989, 1990 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"     @(#)mtree.1    5.7 (Berkeley) 7/24/90
        !            19: .\"
        !            20: .Dd July 24, 1990
        !            21: .Dt MTREE 8
        !            22: .Os BSD 4.4
        !            23: .Sh NAME
        !            24: .Nm mtree
        !            25: .Nd map a directory hierarchy
        !            26: .Sh SYNOPSIS
        !            27: .Nm mtree
        !            28: .Op Fl cderux
        !            29: .Op Fl f Ar spec
        !            30: .Op Fl p Ar path
        !            31: .Sh DESCRIPTION
        !            32: .Nm Mtree
        !            33: compares a directory hierarchy against a specification for a
        !            34: directory hierarchy.
        !            35: By default, the specification is read from the standard input.
        !            36: .Nm Mtree
        !            37: verifies that the tree rooted in the current directory matches the
        !            38: specification.
        !            39: .Pp
        !            40: Messages are written to standard output for any files whose
        !            41: characteristics do not match those of the specification, or which are
        !            42: missing from either the specification or the tree.
        !            43: .Pp
        !            44: The options are as follows:
        !            45: .Tp Fl c
        !            46: Print a specification for the tree to standard output.
        !            47: .Tp Fl d
        !            48: Ignore everything except directory type files.
        !            49: .Tp Fl e
        !            50: Don't object to files that are in the tree but not in the specification.
        !            51: .Tp Fl f
        !            52: Read the specification from
        !            53: .Ar file  ,
        !            54: instead of from standard input.
        !            55: .Tp Fl p
        !            56: Traverse the tree rooted in
        !            57: .Ar path  ,
        !            58: instead of the current directory.
        !            59: .Tp Fl r
        !            60: Remove any files in the tree that are not described in the
        !            61: specification.
        !            62: .Tp Fl u
        !            63: Modify the owner, group, and permissions of existing files to match
        !            64: the specification, as well as create any missing directories.
        !            65: Owner, group, and permissions must all be specified for missing
        !            66: directories to be created.
        !            67: .Tp Fl x
        !            68: Don't descend below any mount points.
        !            69: .Tp
        !            70: .Pp
        !            71: Specifications are mostly composed of ``keywords'', i.e. strings that
        !            72: that specify values relating to files.
        !            73: No keywords have default values, and if a keyword has no set value no
        !            74: checks based on it are performed.
        !            75: .Pp
        !            76: Currently supported keywords are as follows:
        !            77: .Tw Cm
        !            78: .Tp Cm cksum
        !            79: The checksum of the file using the algorithm specified by
        !            80: the program
        !            81: .Xr cksum  1  .
        !            82: .Tp Cm ignore
        !            83: Causes the hierarchy below the file to be ignored.
        !            84: .Tp Cm group
        !            85: The group of the file; may be either numeric or symbolic.
        !            86: .Tp Cm mode
        !            87: The current file's permissions as an absolute (octal) or symbolic
        !            88: value (see
        !            89: .Xr chmod  1  ) .
        !            90: .Tp Cm nlink
        !            91: The number of hard links the file is expected to have.
        !            92: .Tp Cm owner
        !            93: The owner of the file; may be either numeric or symbolic.
        !            94: .Tp Cm size
        !            95: The size, in bytes, of the file.
        !            96: .Tp Cm link
        !            97: The file a symbolic link is expected to reference.
        !            98: .Tp Cm time
        !            99: The last modification time of the file.
        !           100: .Tp Cm type
        !           101: The type of the file; may be set to any one of the following:
        !           102: .Tw Cm
        !           103: .Tp Cm block
        !           104: block special device
        !           105: .Tp Cm char
        !           106: character special device
        !           107: .Tp Cm dir
        !           108: directory
        !           109: .Tp Cm fifo
        !           110: fifo
        !           111: .Tp Cm file
        !           112: regular file
        !           113: .Tp Cm link
        !           114: symbolic link
        !           115: .Tp Cm socket
        !           116: socket
        !           117: .Tp
        !           118: .Tp
        !           119: .Pp
        !           120: There are four types of lines in a specification.
        !           121: .Pp
        !           122: The first type of line sets a ``global'' value for a keyword, and
        !           123: consists of a leading ``/set'' followed by whitespace, followed by
        !           124: sets of keyword/value pairs, separated by whitespace.
        !           125: Keyword/value pairs consist of a keyword, followed by a equals sign
        !           126: (``=''), followed by a value, without intervening whitespace.
        !           127: Once a keyword has been set, its value remains unchanged until either
        !           128: set again or unset.
        !           129: .Pp
        !           130: The second type of line unsets keywords and consists of a leading
        !           131: ``/unset'', followed by whitespace, followed by one or more keywords,
        !           132: separated by whitespace.
        !           133: .Pp
        !           134: The third type of line is a file specification and consists of a file
        !           135: name, followed by whitespace, followed by zero or more whitespace
        !           136: separated keyword/value pairs.
        !           137: The file name may be preceded by any number of whitespace characters.
        !           138: The file name may contain any of the standard file name matching
        !           139: characters (``['', ``]'', ``?'' or ``*''), in which case files
        !           140: in the hierarchy will be associated with the first pattern that
        !           141: they match.
        !           142: .Pp
        !           143: Each of the keyword/value pairs consist of a keyword, followed by an
        !           144: equals sign (``=''), followed by the keyword's value, without intervening
        !           145: whitespace.
        !           146: These values override, without changing, the global value of the
        !           147: corresponding keyword.
        !           148: .Pp
        !           149: All paths are relative.
        !           150: Specifying a directory will cause subsequent files to be searched
        !           151: for in that directory hierarchy.
        !           152: Which brings us to the last type of line in a specification: a line
        !           153: containing only the string
        !           154: .Dq Nm \&..
        !           155: causes the current directory
        !           156: path to ascend one level.
        !           157: .Pp
        !           158: Empty lines and lines whose first non-whitespace character is a hash
        !           159: mark (``#'') are ignored.
        !           160: .Pp
        !           161: .Nm Mtree
        !           162: exits with a status of 0 on success and >0 if an error occurred or the
        !           163: tree did not match the specification.
        !           164: .Sh FILES
        !           165: .Dw /etc/mtree
        !           166: .Di L
        !           167: .Dp Pa /etc/mtree
        !           168: system specification directory
        !           169: .Dp
        !           170: .Sh SEE ALSO
        !           171: .Xr chmod 1 ,
        !           172: .Xr chown 1 ,
        !           173: .Xr chgrp 1 ,
        !           174: .Xr cksum 1 ,
        !           175: .Xr find 1 ,
        !           176: .Xr stat 2 ,
        !           177: .Xr fts 3 ,
        !           178: .Xr mkproto 8
        !           179: .Sh BUGS
        !           180: The
        !           181: .Cm cksum
        !           182: keyword is not yet implemented.
        !           183: .Pp
        !           184: The
        !           185: .Cm time
        !           186: keyword should be specifiable in human readable terms.
        !           187: .Sh EXAMPLE
        !           188: .Ds I
        !           189: #        fs: /a/staff/rick/mybin
        !           190: #        by: rick
        !           191: #      date: Fri May 25 12:26:57 1990
        !           192: .sp
        !           193: /set group=staff mode=0555 nlink=1 owner=rick type=file
        !           194: [              nlink=2 size=6144
        !           195: adb            size=53248
        !           196: df             group=operator mode=02555 size=20480
        !           197: ps             group=kmem mode=02555 size=54272
        !           198: rcp            owner=root mode=04555 size=79872
        !           199: test           nlink=2 size=6144
        !           200: .sp
        !           201: /set group=wheel mode=0444 nlink=1 owner=rick type=file
        !           202: manpages       type=dir mode=0775 nlink=2 size=1024
        !           203: adb.man        size=9473
        !           204: df.man size=5263
        !           205: tar.man        size=3324
        !           206: \&..
        !           207: .De
        !           208: .Sh HISTORY
        !           209: 4.3 Reno BSD.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.