Annotation of cci/usr/src/man/man1/fsdb.1m, revision 1.1.1.1

1.1       root        1: .TH FSDB 1M
                      2: .SH NAME
                      3: fsdb \- file system debugger
                      4: .SH SYNOPSIS
                      5: .B /etc/fsdb
                      6: .RB [ options ]
                      7: special
                      8: .SH OPTIONS
                      9: The options available to
                     10: .I fsdb\^
                     11: are:
                     12: .RS
                     13: .PD 0
                     14: .TP 13
                     15: .B -?
                     16: display usage
                     17: .TP 13
                     18: .B -o
                     19: override some error conditions
                     20: .TP 13
                     21: .B "-p'string'\^"
                     22: set prompt to string
                     23: .TP 13
                     24: .B -w
                     25: open for write
                     26: .PD
                     27: .RE
                     28: .SH DESCRIPTION
                     29: Since
                     30: .I fsdb
                     31: reads the disk raw,
                     32: it is able to circumvent normal
                     33: file system security.
                     34: Extreme caution is advised
                     35: in determining its availability
                     36: on the system.
                     37: Suggested permissions are 600
                     38: and owned by bin.
                     39: .PP
                     40: .I Fsdb\^
                     41: can be used
                     42: to patch up 
                     43: a damaged file system
                     44: after a crash.
                     45: It has conversions
                     46: to translate block and i-numbers
                     47: into their corresponding disk addresses.
                     48: Also included are mnemonic offsets
                     49: to access different parts
                     50: of an inode.
                     51: These greatly simplify the process
                     52: of correcting control block entries
                     53: or descending the file system tree.
                     54: .PP
                     55: .I Fsdb\^
                     56: contains several error-checking routines
                     57: to verify inode and block addresses.
                     58: These can be disabled if necessary 
                     59: by invoking 
                     60: .I fsdb\^
                     61: with the
                     62: .IR \-o
                     63: option
                     64: or by the use of the
                     65: .IR o
                     66: command.
                     67: .PP
                     68: .I Fsdb\^
                     69: reads a block at a time
                     70: and will therefore work with raw as well as block
                     71: I/O. 
                     72: A buffer management routine 
                     73: is used to retain commonly used
                     74: blocks of data
                     75: in order to reduce the number of read system calls.
                     76: All assignment operations result
                     77: in an immediate write-through
                     78: of the corresponding block.
                     79: Note that in order to modify
                     80: any portion of the disk,
                     81: .IR fsdb
                     82: must be invoked with the
                     83: .IR -w
                     84: option.
                     85: .PP
                     86: Wherever possible,
                     87: .IR adb- like
                     88: syntax was adopted
                     89: to promote the use
                     90: of
                     91: .IR fsdb
                     92: through familiarity.
                     93: .PP
                     94: Numbers are considered hexadecimal by default.
                     95: However, the user has control over how data is
                     96: to be displayed
                     97: or accepted.
                     98: The
                     99: .IR base
                    100: command will display
                    101: or set the input/output base.
                    102: Once set,
                    103: all input will default to this base
                    104: and all output will be shown in this base.
                    105: The base can be overriden temporarily for input by
                    106: preceding hexadecimal numbers with '0x', preceding
                    107: decimal numbers with '0t', or
                    108: octal numbers with '0'.
                    109: Hexadecimal numbers beginning with a-f or A-F must
                    110: be preceded with '0x'
                    111: to distinguish them from commands.
                    112: .PP
                    113: Disk addressing by
                    114: .IR fsdb
                    115: is at the byte level.
                    116: However,
                    117: .IR fsdb
                    118: offers many commands to convert
                    119: a desired inode, directory entry,
                    120: block, superblock etc. to a
                    121: byte address.
                    122: Once the address has been calculated,
                    123: .IR fsdb
                    124: will record the result in
                    125: .IR dot
                    126: (see next paragraph).
                    127: .PP
                    128: Several global values are maintained by
                    129: .IR fsdb :
                    130: the current base (referred to as
                    131: .IR base ),
                    132: the current address (referred to as
                    133: .IR dot ),
                    134: the current inode (referred to as
                    135: .IR inode ),
                    136: the current count (referred to as
                    137: .IR count ),
                    138: and the current type (referred to as
                    139: .IR type ).
                    140: Most commands use the preset value of
                    141: .IR dot
                    142: in
                    143: their execution.
                    144: For example,
                    145: .RS
                    146: .PD 0
                    147: .TP 7.2n
                    148: > 2:inode
                    149: .PD
                    150: .RE
                    151: will first set the value of
                    152: .IR dot
                    153: to 2, ':' will alert the start of a command,
                    154: and the
                    155: .IR inode
                    156: command will set
                    157: .IR inode
                    158: to 2.
                    159: A count is specified after a ','.
                    160: Once set,
                    161: .IR count
                    162: will remain at this value
                    163: until a new command is encountered
                    164: which will then reset the value back to 1 (the default).
                    165: So, if
                    166: .RS
                    167: .PD 0
                    168: .TP 7.2n
                    169: > 2000,400/X
                    170: .PD
                    171: .RE
                    172: is typed,
                    173: 400 hex longs are listed
                    174: from 2000,
                    175: and when completed,
                    176: the value of
                    177: .IR dot
                    178: will be 2000 + 400 * sizeof (long).
                    179: If a carriage-return is then typed,
                    180: the output routine will use the
                    181: current values of
                    182: .IR dot ,
                    183: .IR count ,
                    184: and
                    185: .IR type
                    186: and display 400 more hex longs.
                    187: A '*' will cause the entire block to
                    188: be displayed.
                    189: .PP
                    190: End of fragment, block and file are maintained by
                    191: .IR fsdb.
                    192: When displaying data as fragments or blocks,
                    193: an error message will be displayed when the end of fragment
                    194: or block is reached.
                    195: When displaying data using the
                    196: .IR db,
                    197: .IR ib,
                    198: .IR directory,
                    199: or
                    200: .IR file
                    201: commands an error message is displayed if the
                    202: end of file is reached.
                    203: This is mainly needed
                    204: to avoid passing the
                    205: end of a directory or file
                    206: and getting unknown and unwanted results.
                    207: .PP
                    208: An example showing several commands and
                    209: the use of carriage-return would be:
                    210: .RS
                    211: .PD 0
                    212: .TP 7.2n
                    213: > 2:ino; 0:dir?d
                    214: .br
                    215: or
                    216: .PD
                    217: .RE
                    218: .RS
                    219: .PD 0
                    220: .TP 7.2n
                    221: > 2:ino; 0:db:block?d
                    222: .PD
                    223: .RE
                    224: The two examples are synonymous for getting to the first
                    225: directory entry of the root of the file system.
                    226: Once there,
                    227: subsequent carriage-returns (or +, -) will advance to subsequent
                    228: entries.
                    229: Note that
                    230: .RS
                    231: .PD 0
                    232: .TP 7.2n
                    233: > 2:inode; :ls
                    234: .br
                    235: or
                    236: .PD
                    237: .RE
                    238: .RS
                    239: .PD 0
                    240: .TP 7.2n
                    241: > :ls /
                    242: .PD
                    243: .RE
                    244: is again synonymous.
                    245: .SH EXPRESSIONS
                    246: .PP
                    247: The symbols recognized by
                    248: .I fsdb\^
                    249: are:
                    250: .TP 7.2n
                    251: .B carriage-return
                    252: update the value of
                    253: .IR dot
                    254: by the current value of
                    255: .IR type
                    256: and display using the current value of
                    257: .IR count .
                    258: .TP 7.2n
                    259: .B #
                    260: numeric expressions may be composed of +, -, *, and % operators
                    261: (evaluated left to right) and may use parentheses.  Once evaluated,
                    262: the value of
                    263: .IR dot
                    264: is updated.
                    265: .TP 7.2n
                    266: .BI , " count"\^
                    267: count indicator.  The global value of
                    268: .IR count
                    269: will be updated to 
                    270: .IR count .
                    271: The value of
                    272: .IR count
                    273: will remain until a new command is run.
                    274: A count specifier of '*' will attempt to show a
                    275: .IR blocks's
                    276: worth of information.
                    277: The default for
                    278: .IR count
                    279: is 1.
                    280: .TP 7.2n
                    281: .BI ? " f\^"
                    282: display in structured style with format
                    283: specifier
                    284: .IR f
                    285: (see FORMATTED OUTPUT section).
                    286: .TP 7.2n
                    287: .BI / " f\^"
                    288: display in unstructured style with format
                    289: specifier
                    290: .IR f
                    291: (see FORMATTED OUTPUT section).
                    292: .TP 7.2n
                    293: .B .
                    294: the value of
                    295: .IR dot .
                    296: .TP 7.2n
                    297: .BI + "e\^"
                    298: increment the value of
                    299: .IR dot
                    300: by the expression
                    301: .IR e.
                    302: The amount actually incremented is dependent
                    303: on the size of
                    304: .IR type :
                    305: .br
                    306: .nf
                    307:      dot = dot + e * sizeof (type)
                    308: .fi
                    309: The default for
                    310: .IR e
                    311: is 1.
                    312: .TP 7.2n
                    313: .BI - "e\^"
                    314: decrement the value of
                    315: .IR dot
                    316: by the expression
                    317: .IR e
                    318: (see +).
                    319: .TP 7.2n
                    320: .BI * "e\^"
                    321: multiply the value of
                    322: .IR dot
                    323: by the expression
                    324: .IR e.
                    325: Multiplication and division don't
                    326: use
                    327: .IR type.
                    328: In the above calculation of
                    329: .IR dot ,
                    330: consider the
                    331: sizeof (
                    332: .IR type )
                    333: to be 1.
                    334: .TP 7.2n
                    335: .BI % "e\^"
                    336: divide the value of
                    337: .IR dot
                    338: by the expression
                    339: .IR e
                    340: (see *).
                    341: .TP 7.2n
                    342: .BI < " name\^"
                    343: restore an address saved in register
                    344: .IR name .
                    345: .IR name
                    346: must be a single letter or digit.
                    347: .TP 7.2n
                    348: .BI > " name\^"
                    349: save an address in register
                    350: .IR name .
                    351: .IR name
                    352: must be a single letter or digit.
                    353: .TP 7.2n
                    354: .BI = " f"
                    355: display indicator.
                    356: If
                    357: .IR f
                    358: is a legitimate format specifier
                    359: (see FORMATTED OUTPUT
                    360: section),
                    361: then the value of
                    362: .IR dot
                    363: is displayed using
                    364: format specifier
                    365: .IR f .
                    366: Otherwise,
                    367: assignment is assumed
                    368: (see next item).
                    369: .TP 7.2n
                    370: .BI = " [s] [e]\^"
                    371: assignment indicator.
                    372: The address pointed to by
                    373: .IR dot
                    374: has its contents changed to the value of the
                    375: expression
                    376: .IR e
                    377: or to the
                    378: .IR ASCII
                    379: representation of the
                    380: quoted (") string
                    381: .IR s.
                    382: This may be useful for changing
                    383: directory names or
                    384: .IR ASCII
                    385: file information.
                    386: .TP 7.2n
                    387: .BI =+ " e\^"
                    388: incremental assignment.
                    389: The address pointed to by
                    390: .IR dot
                    391: has its contents incremented by expression
                    392: .IR e .
                    393: .TP 7.2n
                    394: .BI =- " e\^"
                    395: decremental assignment.
                    396: The address pointed to by
                    397: .IR dot
                    398: has its contents decremented by expression
                    399: .IR e .
                    400: .SH COMMANDS
                    401: .PP
                    402: A command must be prefixed by a ':' character.
                    403: Only enough letters of the command
                    404: to uniquely
                    405: distinguish it are needed.
                    406: Multiple commands may be entered
                    407: on one line by separating
                    408: them by a space, tab or ';'.
                    409: .PP
                    410: In order to view a potentially
                    411: unmounted disk in a reasonable
                    412: manner,
                    413: .I fsdb\^
                    414: offers the
                    415: .IR cd ,
                    416: .IR pwd ,
                    417: .IR ls
                    418: and
                    419: .IR find
                    420: commands.
                    421: The functionality of these
                    422: commands substantially matches those of
                    423: its
                    424: .IR UNIX
                    425: counterparts
                    426: (see individual command for details).
                    427: The '*', '?', and '[-]' wild card
                    428: characters are available.
                    429: .TP 7.2n
                    430: .BI base=b
                    431: display or set base.  As stated above,
                    432: all input and output is governed by
                    433: the current
                    434: .IR base .
                    435: If the '=b' is left off,
                    436: the current
                    437: .IR base
                    438: is displayed.
                    439: Otherwise, the current
                    440: .IR base
                    441: is set
                    442: to
                    443: .IR b.
                    444: Note that this is interpreted
                    445: using the old value of
                    446: .IR base ,
                    447: so to ensure correctness use the '0', '0t', or '0x'
                    448: prefix when changing the
                    449: .IR base.
                    450: The default for
                    451: .IR base
                    452: is hexadecimal.
                    453: .TP 7.2n
                    454: .B block
                    455: convert the value of
                    456: .IR dot
                    457: to a block address.
                    458: .TP 7.2n
                    459: .B cd dir
                    460: change the current directory
                    461: to directory
                    462: .IR dir.
                    463: The current values of
                    464: .IR inode
                    465: and
                    466: .IR dot
                    467: are also updated.
                    468: If no
                    469: .IR dir
                    470: is specified,
                    471: then change directories to
                    472: inode 2 ("/").
                    473: .TP 7.2n
                    474: .B cg
                    475: convert the value of
                    476: .IR dot
                    477: to a cylinder group.
                    478: .TP 7.2n
                    479: .B directory
                    480: If the current
                    481: .IR inode
                    482: is a directory,
                    483: then the value of
                    484: .IR dot
                    485: is converted to a directory
                    486: slot offset in that directory
                    487: and
                    488: .IR dot
                    489: now points to
                    490: this entry.
                    491: .TP 7.2n
                    492: .B file
                    493: the value of
                    494: .IR dot
                    495: is taken as
                    496: a relative block count from the
                    497: beginning of the file.
                    498: The value of
                    499: .IR dot
                    500: is updated to the first byte
                    501: of this block.
                    502: .IR
                    503: .TP 7.2n
                    504: .BI find " dir [-name n] [-inum i]\^"
                    505: find files by name or i-number.
                    506: .IR find
                    507: recursively searches
                    508: directory
                    509: .IR dir
                    510: and below for filenames whose
                    511: i-number matches
                    512: .IR i
                    513: or whose name
                    514: matches pattern
                    515: .IR n .
                    516: Note that only one of the two options
                    517: (-name or -inum)
                    518: may be used at one time.
                    519: Also, the -print is not needed or
                    520: accepted.
                    521: .TP 7.2n
                    522: .BI fill "=p\^"
                    523: fill an area of disk with pattern
                    524: .IR p.
                    525: The area of disk
                    526: is delimited by
                    527: .IR dot
                    528: and
                    529: .IR count .
                    530: .TP 7.2n
                    531: .B fragment
                    532: convert the value of
                    533: .IR dot
                    534: to
                    535: a fragment address.
                    536: The only difference between the
                    537: .IR fragment
                    538: command and the
                    539: .IR block
                    540: command is the amount that
                    541: is able to be displayed.
                    542: .TP 7.2n
                    543: .B inode
                    544: convert the value of
                    545: .IR dot
                    546: to an inode address.
                    547: If successful,
                    548: the current value of
                    549: .IR inode
                    550: will be updated as well as
                    551: the value of
                    552: .IR dot.
                    553: As a convenient shorthand,
                    554: if ':inode' appears at the
                    555: beginning of the line,
                    556: the value of
                    557: .IR dot
                    558: is set to the current
                    559: .IR inode
                    560: and that inode is displayed
                    561: in inode format.
                    562: .TP 7.2n
                    563: .BI ls " [-R] [-l] pat1 pat2 ...\^"
                    564: list directories or files.
                    565: If no file is specified,
                    566: the current directory is assumed.
                    567: Either or both of the
                    568: options may be used (but, if used,
                    569: .IR must
                    570: be specified before the
                    571: filename specifiers).
                    572: Also, as stated above,
                    573: wild card characters are
                    574: available and multiple
                    575: arguments may be given.
                    576: The long listing shows only
                    577: the i-number and the name;
                    578: use the
                    579: .IR inode
                    580: command with '?i'
                    581: to get more information.
                    582: .TP 7.2n
                    583: .B override
                    584: toggle the value of override.
                    585: Some error conditions may be
                    586: overriden
                    587: if override is toggled on.
                    588: .TP 7.2n
                    589: .BI prompt " p\^"
                    590: change the fsdb prompt to
                    591: .IR p.
                    592: .IR p
                    593: must be surrounded by (")s.
                    594: .TP 7.2n
                    595: .B pwd
                    596: display the current working directory.
                    597: .TP 7.2n
                    598: .B quit
                    599: quit
                    600: .IR fsdb .
                    601: .TP 7.2n
                    602: .B sb
                    603: the value of
                    604: .IR dot
                    605: is taken as a cylinder group
                    606: number and then converted to
                    607: the address of the superblock
                    608: in that cylinder group.
                    609: As a shorthand, ':sb' at
                    610: the beginning of a line
                    611: will set the value of
                    612: .IR dot
                    613: to 
                    614: .IR the
                    615: superblock and display it
                    616: in superblock format.
                    617: .TP 7.2n
                    618: .B !
                    619: escape to shell
                    620: .SH INODE COMMANDS
                    621: In addition to the above commands,
                    622: there are several commands that deal with inode
                    623: fields and operate directly on the current
                    624: .IR inode
                    625: (they still require the ':').
                    626: They may be used to more easily display
                    627: or change the particular fields.
                    628: The value of
                    629: .IR dot
                    630: is only used by the ':db'
                    631: and ':ib' commands.
                    632: Upon completion of the command,
                    633: the value of
                    634: .IR dot
                    635: is changed to point to
                    636: that particular field.
                    637: For example,
                    638: .RS
                    639: .PD 0
                    640: .TP 7.2n
                    641: > :ln=+1
                    642: .PD
                    643: .RE
                    644: would
                    645: increment the link count of the current
                    646: .IR inode
                    647: and set the value of
                    648: .IR dot
                    649: to the address of the link
                    650: count field.
                    651: .TP 7.2n
                    652: .B at
                    653: access time.
                    654: .TP 7.2n
                    655: .B bs
                    656: block size.
                    657: .TP 7.2n
                    658: .B ct
                    659: creation time.
                    660: .TP 7.2n
                    661: .B db
                    662: use the current value of
                    663: .IR dot
                    664: as a direct block index,
                    665: where direct blocks number from
                    666: 0 - 11.
                    667: In order to display the block
                    668: itself, you need to 'pipe' this
                    669: result into the
                    670: .IR block
                    671: or
                    672: .IR fragment
                    673: command.
                    674: For example,
                    675: .br
                    676: .nf
                    677:      > 1:db:block,20/X
                    678: .fi
                    679: would get the contents of
                    680: data block field 1 from the inode and
                    681: convert it to a block address.
                    682: 20 longs are then displayed in hexadecimal
                    683: (see FORMATTED OUTPUT section).
                    684: .TP 7.2n
                    685: .B gid
                    686: group id.
                    687: .TP 7.2n
                    688: .B ib
                    689: use the current value of
                    690: .IR dot
                    691: as an indirect block index
                    692: where indirect blocks number from
                    693: 0 - 2.
                    694: This will only get the indirect block itself
                    695: (the block containing the pointers to the actual blocks).
                    696: Use the
                    697: .IR file
                    698: command and start at block 12 to get to the actual
                    699: blocks.
                    700: .TP 7.2n
                    701: .B ln
                    702: link count.
                    703: .TP 7.2n
                    704: .B mt
                    705: modification time.
                    706: .TP 7.2n
                    707: .B md
                    708: mode.
                    709: .TP 7.2n
                    710: .B maj
                    711: major device number.
                    712: .TP 7.2n
                    713: .B min
                    714: minor device number.
                    715: .TP 7.2n
                    716: .B nm
                    717: although listed here,
                    718: this command actually
                    719: operates on the directory
                    720: name field.
                    721: Once poised at the desired
                    722: directory entry (using the
                    723: .IR directory
                    724: command),
                    725: this command will allow
                    726: you to change or display
                    727: the directory name.
                    728: For example,
                    729: .br
                    730: .nf
                    731:      > 7:dir:nm="foo"
                    732: .fi
                    733: will get the 7th directory
                    734: entry of the current
                    735: .IR inode
                    736: and change its name to foo.
                    737: Note that names
                    738: cannot be made larger than the
                    739: field is set up for.
                    740: If an attempt is made,
                    741: the string is truncated to fit
                    742: and a warning message to this
                    743: effect is displayed.
                    744: .TP 7.2n
                    745: .B sz
                    746: file size.
                    747: .TP 7.2n
                    748: .B uid
                    749: user id.
                    750: .SH FORMATTED OUTPUT
                    751: .PP
                    752: There are two styles
                    753: and many format types.
                    754: The two styles are structured and
                    755: unstructured.
                    756: Structured output is used to display
                    757: inodes, directories, superblocks and the
                    758: like.
                    759: Unstructured just displays
                    760: raw data.
                    761: The following table shows the
                    762: different ways of displaying:
                    763: .TP 7.2n
                    764: .B ?
                    765: .RS
                    766: .PD 0
                    767: .TP 13
                    768: .B c
                    769: display as cylinder groups
                    770: .TP 13
                    771: .B i
                    772: display as inodes
                    773: .TP 13
                    774: .B d
                    775: display as directories
                    776: .TP 13
                    777: .B s
                    778: display as superblocks
                    779: .PD
                    780: .RE
                    781: .TP 7.2n
                    782: .B /
                    783: .RS
                    784: .PD 0
                    785: .TP 13
                    786: .B b
                    787: display as bytes
                    788: .TP 13
                    789: .B c
                    790: display as characters
                    791: .TP 13
                    792: .B o O
                    793: display as octal shorts or longs
                    794: .TP 13
                    795: .B d D
                    796: display as decimal shorts or longs
                    797: .TP 13
                    798: .B x X
                    799: display as hexadecimal shorts or longs
                    800: .PD
                    801: .RE
                    802: .PP
                    803: The format specifier immediately follows
                    804: the '/' or '?' character.
                    805: The values displayed by '/b' and all '?'
                    806: formats are displayed in the current
                    807: .IR base .
                    808: Also,
                    809: .IR type
                    810: is appropriately updated
                    811: upon completion.
                    812: .SH EXAMPLES
                    813: .TP 16
                    814: > 2000+400%(20+20)=D
                    815: will display 2010 in decimal (use of
                    816: .IR fsdb
                    817: as a calculator
                    818: for complex arithmetic).
                    819: .TP 16
                    820: > 386:ino?i
                    821: display i-number 386 in an inode format.
                    822: This now becomes the current
                    823: .IR inode .
                    824: .TP 16
                    825: > :ln=4
                    826: changes the link count for the 
                    827: current
                    828: .IR inode
                    829: to 4.
                    830: .TP 16
                    831: > :ln=+1
                    832: increments the link count by 1.
                    833: .TP 16
                    834: > :ct=X
                    835: display the creation time as a hexadecimal long.
                    836: .TP 16
                    837: > :mt=t
                    838: display the modification time in time format.
                    839: .TP 16
                    840: > 0:file/c
                    841: displays, in
                    842: .IR ASCII ,
                    843: block zero of the file associated
                    844: with the
                    845: current
                    846: .IR inode .
                    847: .TP 16
                    848: > 2:ino,*?d
                    849: displays the first blocks worth of directory entries for
                    850: the root inode of this file system.
                    851: It will stop prematurely if the eof is reached.
                    852: .TP 16
                    853: > 5:dir:inode; 0:file,*/c
                    854: changes the current inode to that
                    855: associated with the 5th directory entry
                    856: (numbered from zero)
                    857: of the current
                    858: .IR inode.
                    859: The first logical block of the file
                    860: is then displayed in
                    861: .IR ASCII .
                    862: .TP 16
                    863: > :sb
                    864: displays the superblock of this file system.
                    865: .TP 16
                    866: > 1:cg?c
                    867: displays cylinder group information and summary
                    868: for cylinder group 1.
                    869: .TP 16
                    870: > 2:inode; 7:dir=3
                    871: changes the i-number for the 
                    872: seventh directory slot in the root directory to 3.
                    873: .TP 16
                    874: > 7:dir:nm="name"
                    875: changes the name field
                    876: in the directory slot to
                    877: .IR name .
                    878: .TP 16
                    879: > 2:db:block,*?d
                    880: displays the third block of the current
                    881: .IR inode
                    882: as directory entries.
                    883: .TP 16
                    884: > 3c3:fragment,20:fill=0x20
                    885: get fragment 3c3 and fill 20
                    886: .IR type
                    887: elements
                    888: with 0x20.
                    889: .TP 16
                    890: > 2050=0xffff
                    891: set the contents of address 2050 to 0xffffffff.
                    892: 0xffffffff may be truncated depending on the current
                    893: .IR type.
                    894: .TP 16
                    895: > 1c92434="this is some text"
                    896: will place the
                    897: .IR ASCII
                    898: for the string at
                    899: 1c92434.
                    900: .SH SEE ALSO
                    901: fsck(1M), dir(4), fs(4).
                    902: .SH BUGS
                    903: .PP
                    904: Extreme caution is advised in
                    905: determining the availability
                    906: of
                    907: .IR fsdb
                    908: on the system.
                    909: Suggested permissions are 600 and
                    910: owned by bin.

unix.superglobalmegacorp.com

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