123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- MTREE(5) manual page
- == NAME ==
- '''mtree'''
- - format of mtree dir hierarchy files
- == DESCRIPTION ==
- The
- '''mtree'''
- format is a textual format that describes a collection of filesystem objects.
- Such files are typically used to create or verify directory hierarchies.
- === General Format===
- An
- '''mtree'''
- file consists of a series of lines, each providing information
- about a single filesystem object.
- Leading whitespace is always ignored.
- When encoding file or pathnames, any backslash character or
- character outside of the 95 printable ASCII characters must be
- encoded as a backslash followed by three
- octal digits.
- When reading mtree files, any appearance of a backslash
- followed by three octal digits should be converted into the
- corresponding character.
- Each line is interpreted independently as one of the following types:
- <dl>
- <dt>Blank</dt><dd>
- Blank lines are ignored.
- </dd><dt>Comment</dt><dd>
- Lines beginning with
- '''#'''
- are ignored.
- </dd><dt>Special</dt><dd>
- Lines beginning with
- '''/'''
- are special commands that influence
- the interpretation of later lines.
- </dd><dt>Relative</dt><dd>
- If the first whitespace-delimited word has no
- '''/'''
- characters,
- it is the name of a file in the current directory.
- Any relative entry that describes a directory changes the
- current directory.
- </dd><dt>dot-dot</dt><dd>
- As a special case, a relative entry with the filename
- ''..''
- changes the current directory to the parent directory.
- Options on dot-dot entries are always ignored.
- </dd><dt>Full</dt><dd>
- If the first whitespace-delimited word has a
- '''/'''
- character after
- the first character, it is the pathname of a file relative to the
- starting directory.
- There can be multiple full entries describing the same file.
- </dd></dl>
- Some tools that process
- '''mtree'''
- files may require that multiple lines describing the same file
- occur consecutively.
- It is not permitted for the same file to be mentioned using
- both a relative and a full file specification.
- === Special commands===
- Two special commands are currently defined:
- <dl>
- <dt>'''/set'''</dt><dd>
- This command defines default values for one or more keywords.
- It is followed on the same line by one or more whitespace-separated
- keyword definitions.
- These definitions apply to all following files that do not specify
- a value for that keyword.
- </dd><dt>'''/unset'''</dt><dd>
- This command removes any default value set by a previous
- '''/set'''
- command.
- It is followed on the same line by one or more keywords
- separated by whitespace.
- </dd></dl>
- === Keywords===
- After the filename, a full or relative entry consists of zero
- or more whitespace-separated keyword definitions.
- Each such definition consists of a key from the following
- list immediately followed by an '=' sign
- and a value.
- Software programs reading mtree files should warn about
- unrecognized keywords.
- Currently supported keywords are as follows:
- <dl>
- <dt>'''cksum'''</dt><dd>
- The checksum of the file using the default algorithm specified by
- the
- [[cksum(1)|http://www.freebsd.org/cgi/man.cgi?query=cksum&sektion=1]]
- utility.
- </dd><dt>'''device'''</dt><dd>
- The device number for
- .B block
- or
- .B char
- file types.
- The value must be one of the following forms:
- <dl>
- <dt>''format'',''major'',''minor''Bo,''subunit'' Bc</dt><dd>
- A device with
- ''major'', minor
- and optional
- ''subunit''
- fields.
- Their meaning is specified by the operating's system
- ''format''.
- See below for valid formats.
- </dd><dt>''number''</dt><dd>
- Opaque number (as stored on the file system).
- </dd></dl>
- The following values for
- ''format''
- are recognized:
- .B native ,
- .B 386bsd ,
- .B 4bsd ,
- .B bsdos ,
- .B freebsd ,
- .B hpux ,
- .B isc ,
- .B linux ,
- .B netbsd ,
- .B osf1 ,
- .B sco ,
- .B solaris ,
- .B sunos ,
- .B svr3 ,
- .B svr4 ,
- and
- .B ultrix .
- See
- [[mknod(8)|http://www.freebsd.org/cgi/man.cgi?query=mknod&sektion=8]]
- for more details.
- </dd><dt>'''contents'''</dt><dd>
- The full pathname of a file that holds the contents of this file.
- </dd><dt>'''flags'''</dt><dd>
- The file flags as a symbolic name.
- See
- [[chflags(1)|http://www.freebsd.org/cgi/man.cgi?query=chflags&sektion=1]]
- for information on these names.
- If no flags are to be set the string
- "none"
- may be used to override the current default.
- </dd><dt>'''gid'''</dt><dd>
- The file group as a numeric value.
- </dd><dt>'''gname'''</dt><dd>
- The file group as a symbolic name.
- </dd><dt>'''ignore'''</dt><dd>
- Ignore any file hierarchy below this file.
- </dd><dt>'''inode'''</dt><dd>
- The inode number.
- </dd><dt>'''link'''</dt><dd>
- The target of the symbolic link when type=link.
- </dd><dt>'''md5'''</dt><dd>
- The MD5 message digest of the file.
- </dd><dt>'''md5digest'''</dt><dd>
- A synonym for
- '''md5'''.
- </dd><dt>'''mode'''</dt><dd>
- The current file's permissions as a numeric (octal) or symbolic
- value.
- </dd><dt>'''nlink'''</dt><dd>
- The number of hard links the file is expected to have.
- </dd><dt>'''nochange'''</dt><dd>
- Make sure this file or directory exists but otherwise ignore all attributes.
- </dd><dt>'''optional'''</dt><dd>
- The file is optional; do not complain about the file if it is not in
- the file hierarchy.
- </dd><dt>'''resdevice'''</dt><dd>
- The
- "resident"
- device number of the file, e.g. the ID of the device that
- contains the file.
- Its format is the same as the one for
- '''device'''.
- </dd><dt>'''ripemd160digest'''</dt><dd>
- The
- '''RIPEMD160'''
- message digest of the file.
- </dd><dt>'''rmd160'''</dt><dd>
- A synonym for
- '''ripemd160digest'''.
- </dd><dt>'''rmd160digest'''</dt><dd>
- A synonym for
- '''ripemd160digest'''.
- </dd><dt>'''sha1'''</dt><dd>
- The
- '''FIPS'''
- 160-1
- ("Tn SHA-1")
- message digest of the file.
- </dd><dt>'''sha1digest'''</dt><dd>
- A synonym for
- '''sha1'''.
- </dd><dt>'''sha256'''</dt><dd>
- The
- '''FIPS'''
- 180-2
- ("Tn SHA-256")
- message digest of the file.
- </dd><dt>'''sha256digest'''</dt><dd>
- A synonym for
- '''sha256'''.
- </dd><dt>'''sha384'''</dt><dd>
- The
- '''FIPS'''
- 180-2
- ("Tn SHA-384")
- message digest of the file.
- </dd><dt>'''sha384digest'''</dt><dd>
- A synonym for
- '''sha384'''.
- </dd><dt>'''sha512'''</dt><dd>
- The
- '''FIPS'''
- 180-2
- ("Tn SHA-512")
- message digest of the file.
- </dd><dt>'''sha512digest'''</dt><dd>
- A synonym for
- '''sha512'''.
- </dd><dt>'''size'''</dt><dd>
- The size, in bytes, of the file.
- </dd><dt>'''time'''</dt><dd>
- The last modification time of the file.
- </dd><dt>'''type'''</dt><dd>
- The type of the file; may be set to any one of the following:
- <dl>
- <dt>'''block'''</dt><dd>
- block special device
- </dd><dt>'''char'''</dt><dd>
- character special device
- </dd><dt>'''dir'''</dt><dd>
- directory
- </dd><dt>'''fifo'''</dt><dd>
- fifo
- </dd><dt>'''file'''</dt><dd>
- regular file
- </dd><dt>'''link'''</dt><dd>
- symbolic link
- </dd><dt>'''socket'''</dt><dd>
- socket
- </dd></dl>
- </dd><dt>'''uid'''</dt><dd>
- The file owner as a numeric value.
- </dd><dt>'''uname'''</dt><dd>
- The file owner as a symbolic name.
- </dd></dl>
- == SEE ALSO ==
- [[cksum(1)|http://www.freebsd.org/cgi/man.cgi?query=cksum&sektion=1]],
- [[find(1)|http://www.freebsd.org/cgi/man.cgi?query=find&sektion=1]],
- [[mtree(8)|http://www.freebsd.org/cgi/man.cgi?query=mtree&sektion=8]]
- == HISTORY ==
- The
- '''mtree'''
- utility appeared in
- BSD 4.3 Reno.
- The
- '''MD5'''
- digest capability was added in
- FreeBSD 2.1,
- in response to the widespread use of programs which can spoof
- [[cksum(1)|http://www.freebsd.org/cgi/man.cgi?query=cksum&sektion=1]].
- The
- '''SHA-1'''
- and
- '''RIPEMD160'''
- digests were added in
- FreeBSD 4.0,
- as new attacks have demonstrated weaknesses in
- '''MD5 .'''
- The
- '''SHA-256'''
- digest was added in
- FreeBSD 6.0.
- Support for file flags was added in
- FreeBSD 4.0,
- and mostly comes from
- NetBSD.
- The
- "full"
- entry format was added by
- NetBSD.
|