% Librarian A09-32d;;iZj 5!iAuthorVDEFRAGDELETE DFU DIRECTORY'tEXIT'HELP'INDEXF,FREPORT Restrictions3 REVERSIONfScreen_Management4SEARCHOSET d;1 DFU;Disk and File Utilities (DFU) is a high performance utility<developed to perform routine maintenance and special purpose<operations on ODS-2 disk volumes, files and directories. The?functionality offered by DFU is not or partly available throughCother DCL commands or VMS utilities. Minimal support for some ODS-5file information is provided.# DFU has the following functions:! Command DescriptionC DEFRAGMENT defragment individual fi les or an entire disk9 DELETE delete files by file-id, and delete+ directory(trees) fastC DIRECTORY COMPRESS, DUMP or RECOVER directories, searchC directories for files with multiple versions,7 alias files, or empty directories= INDEXF analyze, defragment truncate and extend INDEXF.SYS0 REPORT reports disk fragmentation= REVERSION reversions files back to starting at ;1& SEARCH search for files) SET set file attributes+ UNDELETE recover deleted files= VERIFY analyze (and repair) the disk structure wwd;1 Restrictions& DFU has the following restrictions:< o DFU cannot handle volume sets with more than 32 disks.D o DFU runs on Alpha, IA64, and x86 architectures, OpenVMS V7.3-2 or higher.D o DFU handles files names as case-blind. There is no support for case-sensitive filenames. wwd; 1 DEFRAGD The defrag option is used to defragment a single file or files or an entire volume. Format< DEFRAG file1,file2,...,@file3 (/DEVICE=device/BESTTRY) 2 Parameters fileC Specify a file (or list of files) with a full file specification> or a logical name. Also, indirect command file may be used,A e.g.: DEFRAG @DEFRAG.COM(/DEVICE=device). Thus, it is possibleA to generate a list with SEARCH device/OUTPUT=file and use thatA file as input to the DEFRAG command. The list generated by DFUA SEARCH will contain the device name in the file specification.@ If there is a list of file from another source which does notA contain the device name, the /DEVICE qualifier must be used to& append the device name to the file. 2 Qualifiers /BESTTRYD This qualifier directs DFU to create a file using the contiguous-: best-try method. Default DFU tries to make a completely? contiguous file. On highly fragmented or used disks this may be impossible. /DEVICE /DEVICE=device_name* Append the device-name to the filename. /DISK6 Defragment the specified device rather than a file.0 The model used is based on a 4-pass strategy:A o Pass 1: for any non-contiguous files, attempt to defragmentB them into existing exactly sized free space (in other words,= for a 500 block file, look for a 500 block free space).A o Pass 2: for any non-contiguous files, attempt to defragment1 them into a 'best fit' block of free space.? o Pass 3: consolidate free space by moving files out of the@ largest block of free space into other matching free space blocks.? o Pass 4: consolidate free space by moving files out of theA largest block of free space into a 'best fit' block of free space. /EXCLUDED /EXCLUDE=([FILE=(fnm[,fnm...]]) /EXCLUDE=(INDEXED |7 RELATIVE | SEQUENTIAL | DIRECT | SPECIAL | FILE=...)9 When used with /DISK, allows files to be excluded from; defragmentation operations based on organization or file@ name. Multiple file organizations may be specified. Files may= be excluded by wildcarded name/type. Multiple names may be specified. /LBN! /LBN=A Move a single file to the target logical block number. This isD faster than having the file system search for a new LBN location.A Caution: Use this qualifier only for processing a single file,D not a list of files. If there is not enough contiguous free spaceB available at the target LBN, Defrag will fail with a DEVICEFULL error. /MAXSIZE /MAXSIZE=n; Avoid moving files larger than n blocks. Requires /DISK. /PASSES /PASSES=numberB Number of iterations for defragmenting with /DISK. Sequentially= execute phases 1 through 4 the specified number of passes.& Defaults to 1 pass. Requires /DISK. /STATISTICSC /STATISTICS /NOSTATISTICS (default) Controls whether CPU and I/O( consumption of the command are shown. /UNTIL% /UNTIL=? Controls whether the defragment operation will be terminatedC after the specified time. When the time period has been reached,@ the operation will terminate at the end of the file currently; being defragmented (i.e., if the file takes 5 minutes toB defragment, and the timer expires after one minute, the currentA file will complete and no further files will be defragmented).+ This is similar to how CTRL/C functions.< Absolute time includes a specific date or time of day. An7 absolute date/time has one of the following formats: o dd-mmm-yyyy o hh:mm:ss.cc o dd-mmm-yyyy:hh:mm:ss.cc o "dd-mmm-yyyy hh:mm:ss.cc" o BOOT o LOGIN o TODAY o TOMORROW o YESTERDAYC You can omit any of the trailing fields in the date or time. YouD can omit any of the fields in the middle of the format as long asB you specify the punctuation marks, for example, "-mmm-yyyy hh".A Delta time is an offset from the current time to a time in the/ future. Delta time has the following format: o "+[dddd-][hh:mm:ss.cc]"A You can truncate delta time after the hour field. You can alsoD omit any of the fields after the hour field format as long as you! specify the punctuation marks.> Combination time consists of an absolute time value plus or? minus a delta time value. Combination time can use either of the following formats:$ o "[absolute time][+delta time]"" o [absolute time][-delta time]= You can omit the absolute time value. If you do, the deltaA time is offset from the current date and time. Whenever a plusB sign (+) precedes the delta time value, enclose the entire time$ specification in quotation marks. /WRITECHECKD /WRITECHECK /NOWRITECHECK (default) Performs a write check on the1 resultant file after the defragment operation. wwd; 1 DELETE( The Delete command serves 2 purposes: o Delete files by File-id? o Delete complete directories and directory trees very fast=Deleting files by file id's (with the /FILE qualifier) can beAuseful in removing files which are no longer in a directory (e.g.Cfiles marked for delete). Deleting a directory (with the /DIRECTORYCqualifier) is many times faster than the normal DCL delete command,Aespecially for large directories. The /TREE qualifier can be usedDto delete a complete directory tree with just one command. The /FILE*and /DIRECTORY command cannot be combined. Syntax : DELETE device/FILE=file-id= DELETE full-directory-file-name /DIRECTORY(/Qualifiers) 2 Qualifiers /DIRECTORYD This qualifier directs DFU to delete the complete contents of theB specified directory, followed by a delete of the directory fileC itself. See also the /TREE qualifier. The parameter must specify@ a full directory file name. Wildcards may be used. Examples :0 DFU> DELETE mydisk:[000000]gone.dir/DIRECTORY. gone.dir will be deleted with its contents.> DFU> DELETE/DIRECTORY mydisk:[maindir.subdir]removethis.dir4 removethis.dir will be deleted with its contents. /FILE /FILE=file-id: The full 3 number file-id of the file to be deleted. InC combination with the required device parameter this results in aD unique file. To avoid possible errors a full file id is required. Example :& DFU> DELETE mydisk/FILE=(234,567,1) /KEEP /KEEP /NOKEEP (default)C Used with DELETE/DIRECTORY(/TREE). This qualifier directs DFU toA delete the contents of the directory(tree) but to preserve the directory files. /LOG /LOG (default) /NOLOG= This qualifier is used only with the /DIRECTORY qualifier.D Default DFU will report each deleted file. This can be suppressed with /NOLOG. /NOREMOVE /NOREMOVE /REMOVE (default)? This qualifier can only be used with /FILE. Default DFU willB also try to remove the file from the parent directory. For lostB or marked-for-delete files this is not possible, and the DELETED command will probably fail. The /NOREMOVE qualifier will override the default behavior. /STATISTICS /STATISTICS /NOSTATISTICS (default)> Controls whether CPU and I/O consumption of the command are shown. /TREE> This qualifier is only used in combination with /DIRECTORY.D Starting with the specified directory all (sub)directory contents0 and all (sub)directory files will be deleted. wwd; 1 DIRECTORYD The DIRECTORY command provides 7 different functions depending on the qualifiers used.B o DIRECTORY/COMPRESS file - Compresses one or more directories< o DIRECTORY/DUMP file - Provides a block level dump of a directory= o DIRECTORY/REBUILD_MFD device - Recovers a corrupted MFD directory (000000.DIR)= o DIRECTORY/RECOVER file - Recovers a corrupted directory> o DIRECTORY/ALIAS device - Searches all directories on the# device for alias file entries: o DIRECTORY/EMPTY device - Searches the disk for empty  directoriesB o DIRECTORY/VERSION=n device - Searches all directories on the5 device for files which have at least n versions@ o DIRECTORY/FILES=n device - Searches all directories on the. device that have at least n file entries>Qualifiers /ALIAS, /EMPTY, and /VERSION can be combined in one;command. Other combinations of qualifiers are not possible. 2 Parameters file,(@file)D The /COMPRESS , /DUMP and /RECOVER qualifier require a directory-B! file name as a parameter. A logical name or an indirect command: file can also be used as a parameter e.g.: DIR/COMPRESSA @DIR.COM . Thus, it is possible to generate a list with SEARCHA device/OUTPUT=file and use that file as input to the DIRECTORY= command. The list generated by DFU SEARCH will contain the? device name in the file specification. If a list of files isC used from another source which does not contain the device name,B the /DEVICE must be used to append the "device name to the file. deviceC The /ALIAS, /EMPTY , /REBUILD_MFD and /VERSION qualifier require a device name as a parameter. 2 Qualifiers /ALIAS2 Scan all directories on a disk for alias files. /COMPRESSB Recreates and compresses the directory. Because directories areD alphabetically sorted files, deleting and entering files randomly@ will create 'holes' in directory files. /COMPRESS will remove: these holes by rebuilding and truncating th #e directory. /DEVICE /DEVICE=device-nameA Append the device name to the directory-file name. Can only be used with /COMPRESS or /DUMP /DUMP= Produces a dump of the directory file block by block. This= command may be useful for debugging corrupted or suspected directories. /EMPTY' Scan the disk for empty directories. /FILES /FILES=n@Searches all directories on the device that have at least n fileentries. /FILL_ $FACTOR: /FILL_FACTOR=percentage This qualifier is only valid in= combination with /COMPRESS. Default behavior for DFU is to@ compress a directory as tight as possible; this is equivalentA to /FILL_FACTOR=100. By choosing a lower fill factor value DFUC will leave some free space in each directory block. /FILL_FACTOR@ may be between 50 and 100 %. Caution : choosing a fill factorD value lower than 100% may fail if the directory file is not largeC enough. In that case DFU will% signal an error and advise using a higher fill factor value. /FORMATB /FORMAT=format_string Used with /VERSION and /OUTPUT. Create anB output file using the format as described in format_string. TheA format string MUST contain the !AS directive; DFU fills in the" resultant file there. Example :3 DFU> DIR/VERSION=3/OUT=P.COM/FORMAT="$purge !AS" /OUTPUTC /OUTPUT=filename This qualifier redirects the output from DFU to an output file. /REBUILD_M&FDC Rebuilds the disk's 000000.DIR directory and makes sure the file backlinks to itself. /RECOVERB Rebuilds a corrupted directory file. Do not use this command on critical (system)directories! /STATISTICS /STATISTICS /NOSTATISTICS (default)> Controls whether CPU and I/O consumption of the command are shown. /TESTA This qualifier can be used only in conjunction with /COMPRESS.C When /TEST is specified DFU will show the res 'ults of a directory@ compression without actually performing a compress operation. /TRUNCATEA /TRUNCATE(=n) This qualifier is only valid in combination withA /COMPRESS. After compressing a directory DFU will NOT truncateD the empty blocks at the end of the directory, unless /TRUNCATE isB specified. A number 'n' may be specified to let DFU truncate noC further than 'n' blocks ('n' will be rounded up to a multiple ofC the disks cluster size). Example: a 60 block direct(ory A.DIR can/ be compressed to 20 blocks. The results are:- o DIR/COMPRESS -> A.DIR size 20/60 blocks6 o DIR/COMPRESS/TRUNCATE -> A.DIR size 20/20 blocks9 o DIR/COMPRESS/TRUNCATE=40 -> A.DIR size 20/40 blocks /VERSIOND /VERSION=n Scan all directories of a given device for files which have at least 'n' versions. wwd;1 EXIT Leave DFU (return to DCL) wwd;1 HELP Displays this text ww ); 1 INDEXF> The INDEXF command is used to analyze, defragment, truncate@ or extend the INDEXF.SYS file. The analyze option reports theA current fragmentation state, whereas the defragment and extend@ option allows defragmentation or pre-extending of INDEXF.SYS.C Truncate is an option which trims down INDEXF.SYS to the end-of-B file size. To perform a defragment truncate or extend operationB the disk must be completely dismounted. Defragment truncate andB extend *require VOLPRO privilege. Defragment truncate and extend& can not be done on the system disk.Syntax : INDEXF device/Qualifiers 2 Qualifiers /ANALYZEC Displays information about the number of fragments in INDEXF.SYSB and the largest contiguous free space. If INDEXF.SYS can not be; defragmented a "%DFU-W-NOOPT" message will be displayed. /DEFRAG@ Starts a defragment operation on INDEXF.SYS. The disk must beB dismounted cluster-wide before starting+ a defragment operation. /EXTEND /EXTEND=n (number of blocks)@ Extends INDEXF.SYS with 'n' blocks in 1 new fragment. This isD equivalent to 'n' extra file headers. The disk must be dismountedB cluste-rwide before starting an extend operation. The 'n' valueB will be rounded up to be a multiple of the device cluster size. /SHADOW_MEMBER /SHADOW_MEMBER=device:> The physical member of the shadowset on which to perform an> EXTEND or DEFRAG operation. This ,qualifier is only required: in combination with /DEFRAG and /EXTEND. Example : DFU>/ INDEXF/DEFRAG DSA0:/SHADOW_MEMBER=$1$DUA104: /SHOW_POINTERS> Displays all mapping pointer information during the analyze phase. /STATISTICS /STATISTICS /NOSTATISTICS (default)> Controls whether CPU and I/O consumption of the command are shown. /TRUNCATEA If possible, the INDEXF.SYS file will be truncated back to the@ end-of-file size. The dis-k must be dismounted to perform this operation. ww; 1 REPORTB The report option generates a file and free space report of theD disk. Also, a graph table is made which gives a quick overview onC the free space distribution of the disk. DFU creates a number of9 DCL symbols corresponding to the output of the report. Format REPORT device 2 Qualifiers /APPEND /APPEND=filenameB Same as /OUTPUT, but the output will .be appended to the file ifD it already exists. Thus, output from multiple DFU commands can beB put in the same output file. If the file does not exist it will be created. /GRAPH /GRAPH /NOGRAPH (default)< This qualifier enables the graph output of the free spaceD distribution for the disk. The default behavior is not to display the graph output. /OUTPUTC /OUTPUT=filename This qualifier redirects the output from DFU to an output file. $/ /NOBITMAP% Skip the bitmap statistics report. /NOFILE# Skip the file statistics report. /NOVOLUME Skip the volume info report. /STATISTICS /STATISTICS /NOSTATISTICS (default)> Controls whether CPU and I/O consumption of the command are shown. /UNIT /UNIT=BYTES or BLOCKSD Report sizes in units of bytes or blocks. The default behavior is" to report sizes as block units. /USAGE /USAGE(=uic or i 0dentifier)9 Generate a diskblock usage report. DFU will report perC UIC/Identifier the blocks used/allocated, and the number of file? headers used. If diskquota is enabled a third column will beC added to the report with the blocks used according to QUOTA.SYS.@ If an UIC or Identifier is entered then only that UIC will be7 reported. The diskquota used must satisfy the rule :5 QUOTA used = blocks allocated + # of file headers.A Symbols The following symbols are creat1ed. The names should beB reasonably self explanatory. The values shown here are examples& to demonstrate the expected format.( o DFU$AVERAGE_EXTENT_SIZE = "289574", o DFU$AVERAGE_SIZE_PER_FRAGMENT = "1348"* o DFU$AVG_FRAGMENTS_PER_FILE = "1.017"- o DFU$BLOCKS_MARKED_FOR_DELETE = "502560" o DFU$CLUSTER_SIZE = "80"% o DFU$CONTIGUOUS_FILES = "212712"" o DFU$DEVICE_NAME = "$1$DGA5:"" o DFU$DIRECTORY_FILES = "6484" o DFU$EMPTY_FILES = "955"2# o DFU$ERASE_ON_DELETE = "FALSE"( o DFU$FILES_MARKED_FOR_DELETE = "37"* o DFU$FILES_WITH_ALLOCATION = "212803". o DFU$FILES_WITH_EXTENSION_HEADERS = "193", o DFU$FILE_FRAGMENTATION_INDEX = "0.067"7 o DFU$FILE_FRAGMENTATION_INDEX_RATING = "excellent"" o DFU$FIRST_HEADER_VBN = "429" o DFU$FRAGMENTS = "216378"# o DFU$FREEBLOCKS_DRIFT = "6160"" o DFU$FREE_BLOCKS = "98744960" o DFU$FREE_HEADERS = "15059"2 o DFU$FREE_SPACE_FRAGMEN3TATION_INDEX = "0.000"= o DFU$FREE_SPACE_FRAGMENTATION_INDEX_RATING = "excellent" o DFU$HEADERS = "213973"! o DFU$HEADER_COUNT = "229052"" o DFU$HIGHWATER_MARK = "FALSE"9 o DFU$LARGEST_DIRECTORY_FILE = "[USERS.FOO]SCA.DIR;1"* o DFU$LARGEST_FREE_EXTENT = "21140000" o DFU$MAX_FILES = "439092"7 o DFU$MOST_FRAGMENTED_FILE = "[USERS.FOO]BAR.LOG;8"0 o DFU$MOST_FRAGMENTED_FILE_FRAGMENTS = "406"# o DFU$PERCENTAGE_FREE = "0.000", o DFU$TO4TAL_ALLOCATED_SIZE = "291879840"$ o DFU$TOTAL_BLOCKS = "390624768" o DFU$TOTAL_FILES = "213758"$ o DFU$TOTAL_FILES_ODS2 = "41965"% o DFU$TOTAL_FILES_ODS5 = "171793"$ o DFU$TOTAL_FREE_EXTENTS = "341"' o DFU$TOTAL_USED_SIZE = "260158290" o DFU$VOLUME_NAME = "USER " o DFU$VOLUME_OWNER = " " o DFU$VOLUME_SET_NAME = " " ww; 1 REVERSION+ Reversions files back to starting at ;1. Format$ REVERSION file5spec [,filespec] 2 Description@ The REVERSION command accepts one or more file specificationsA including wild cards. Reversions files back to starting at ;1.B Version numbers are removed from the input file specifications. 2 Qualifiers /LOG; Controls whether the REVERSION command displays the file= specification of each file after the modification is made. ww; 1 SEARCHD The SEARCH option searches for specific files on a device6. Syntax : SEARCH device/Qualifiers 2 Qualifiers /ACCESS /ACCESS=keyword(=value)C This qualifier is used in combination with 3 possible keywords :D BEFORE=date, SINCE=date or NONE. The last access date is used forD selecting files. Use SINCE and BEFORE or NONE , but not both. TheA NONE keyword returns files which don't have a last access date set. Examples : o /ACCESS=BEFORE=date- o /ACCESS=(BEFORE=date,SINCE=anotherdate) o /A7CCESS=NONE /ACED /ACE=identifier Searches for files containing an ACL list with an ACE for this identifier. /ACTION@ Performs an action on resultant files. Disallowed with /FULL,D /PAGE, /HOME, /SUMMARY, /FORMAT, /OUTPUT, or /APPEND. Actions can be one of:B o DELETE Delete each matching file. When specified an implicit@ reverse sort is performed such that directory file shuffle operations are minimized.1 o COMPRESS Compress directory file8s. Requires? /CHARACTERISTICS=DIRECTORY such that only directory files are located/processed. /ALLOCATED< When using the /SIZE qualifier, the default size used forB comparison is the actual file size. Use /ALLOCATED to force DFU0 to use the allocated filesize for comparison. /APPENDD /APPEND=filename Same as /OUTPUT, but the output will be appendedC to the file if it already exists. Thus, output from multiple DFUD commands can be put in the same out9put file. If the file does not exists it will be created. /ATTRIBUTEC /ATTRIBUTE=keyword(=value) This qualifier is used in combinationB with 3 possible keywords : BEFORE=date, SINCE=date or NONE. TheA last attribute change date is used in for selecting files. UseD SINCE and BEFORE or NONE , but not both. The NONE keyword returnsD files which don't have a last attribute change date set. Examples : o /ATTRIBUTE=BEFORE=date0 o /ATTRIBUTE=(BEFORE=date,SINCE=:anotherdate) o /ATTRIBUTE=NONE /BACKUP@ /BACKUP=keyword(=value) This qualifier is used in combinationB with 3 possible keywords : BEFORE=date, SINCE=date or NONE. TheC backup date is used in for selecting files. Use SINCE and BEFORED or NONE, but not both. The NONE keyword returns files which don't* have a backup date recorded. Examples : o /BACKUP=BEFORE=date- o /BACKUP=(BEFORE=date,SINCE=anotherdate) o /BACKUP=NONE /BAKFIDA /BAKFID ;=backlink-file-id Use this qualifier to look for a file? with a specific backlink. Only the first part of the file idA must be specified, that is, if the File id is (x,y,z) one mustD specify'x' as the file-id. Use this qualifier to get files from aB specific directory. If /BAKFID=0 is used, DFU returns files not4 belonging to a directory (often temporary files). /CHARACTERISTICS( /CHARACTERISTICS=(characteristic,...)C This qualifier is used to select files by their c<haracteristics.% The possible characteristics are :/ o BADACL : files marked with a bad ACL list- o BADBLOCK : files marked with Bad Blocks0 o BESTTRY : files marked contiguous-best-try- o CONTIGUOUS : files which are contiguous2 o DIRECTORY : files marked as a directory file( o ERASE : erase file before deletion3 o LOCKED : files with the deaccess lock bit set( o MARKED : files marked for deletion) o NOBACKUP : files marked as NoBackup=) o NOCHARGE : files marked as NOCHARGE% o NOMOVE : files marked as NOMOVE o SPOOL : spool files- o SCRATCH : files marked as scratch files- o NOSHELVABLE: files marked a noshelvable) o ISSHELVED : files which are shelved>DFU will use a logical AND to select files, that is if severalCcharacteristics are specified DFU will only return files which haveAall these characteristics set. To overrule this, use the MATCH=ORkeyword, e.g.:3 SEARCH device/CHA>R=(DIRECTORY,NOBACKUP,MATCH=OR) /CREATEDD /CREATED=keyword=value This qualifier is used in combination with@ 2 possible keywords : BEFORE=date or SINCE=date. The creation1 date is used in for selecting files. Examples: o /CREATED=BEFORE=date. o /CREATED=(BEFORE=date,SINCE=anotherdate) /DENSED When /DENSE is specified, output lines are compressed of multiple@ whitespace. Intended to move the file size closer to the fileA name and to reduce the overall ?output length. Not allowed with /FULL, /HOME or /SUMMARY. /DISPLAY_FIRST /DISPLAY_FIRST=nC Use this qualifier to limit the number of output files displayedA to the specified value. When used with an implicit or explicitA sort, all names are sorted and then the first n are displayed.@ When there is no implicit or explicit sort, the first n files2 found are displayed (effectivity in FID order). /EXCLUDEA /EXCLUDE=filename Use this qualifier to exclude@ filenames fromC the selection. E.g.: /EXCLUDE=*.SYS will force DFU to not select filenames matching *.SYS. /EXPIREDA /EXPIRED=keyword(=value) This qualifier is used in combination@ with 3 possible keywords BEFORE=date, SINCE=date or NONE. TheC expiration date is used in for selecting files. Either use SINCED and BEFORE or NONE , but not both. The NONE keyword returns files9 which don't have a expiration date recorded. Examples: o /EXPIRED=BEFORE=date. oA /EXPIRED=(BEFORE=date,SINCE=anotherdate) o /EXPIRED=NONE /FIDD /FID=file-id Use this qualifier to look for a specific file. OnlyD the first part of the file id must be specified, that is , if theA File id is (x,y,z) one must specify'x' as the file-id. If thisA qualifier is used, DFU does not scan INDEXF.SYS but just looksD up the specific file header. Therefore, this qualifier can not be@ combined with other search qualifiers such as /SIZE or /FILE. /FILEB= /FILE=filename DFU selects only file names which match the: 'filename'. Wildcards may be used, e.g.: /FILE=*.SYS or /FILE=LOGIN.*. /FORMATA /FORMAT=format_string Used with /OUTPUT. Create an output fileC using the format as described in formatstring. The format stringC MUST contains the !AS directive; DFU fills in the resultant fileB there. Example : DFU> SEARCH/FILE=*.TMP/FORMAT="$delete/confirm !AS" /FRAGMENT /FRAGMENT [=option]@ ShowsC the numbers of headers/fragments of the file. Available options:? o /FRAGMENT Don't select files, but show fragmentation infoA o /FRAGMENT=MINUMUM=fragments DFU selects files with at least 'fragments' fragments@ o /FRAGMENT=MAXIMUM=fragments DFU selects files with at most 'fragments' fragmentsABoth options can be combined, e.g.: /FRAGMENT=(MIN=4,MAX=10) will1select all files with between 4 and 10 fragments.> When /SORT is used with /FRAGMENT, outputD is sorted by fileD allocation size or fragment count largest to smallest. /SORT with@ /FRAGMENT accepts either ALLOCATION or FRAGMENTS as a keywordB (/SORT=ALLOCATION or /SORT=FRAGMENTS) to adjust the sort field. /FULL? Gives a full output for each found file. The output contains< directory, filename, File ID, Virtual Block Number withinB INDEXF.SYS, filesize, owner, creation date, revision date. Note/ that default is to produce a 'short' output. /HOMEB DEisplays information about the home block of the disk. DFU usesD the home block to calculate the actual used and free file headers in INDEXF.SYS. /GLOBAL_BUFFER_COUNT The following options exist:@ o /GLOBAL_BUFFER_COUNT=MINUMUM=buffercount DFU selects files. with at least buffercount global buffersC o /GLOBAL_BUFFER_COUNT=MAXIMUM=blocksize DFU selects files with) at most buffercount global buffers.8Both options can be combined, e.g. /GLOBAL_BUFFER_COUNFT=A(MIN=1000,MAX=10000) will select all files between 1000 and 10000*global buffers set in the file attributes. /IDENTC /IDENT=identifier /NOIDENT=identifier DFU Selects files owned byC this identifier. Another way is to use the /OWNER=uic qualifier.A /IDENT and /UIC can not be used in the same DFU command. Using@ /NOIDENT causes DFU to search for all files NOT owned by this identifier. /LBNC /LBN=logical-block-number The /LBN option is a special qualifierAG which allows locating a file which contains a specific logicalA block number. Note that this qualifier cannot be combined with, other search qualifiers (such as /FILE=). /LIMITB /LIMIT=(minimum=n,maximum=m) Searches all directory files for a- default version limit between 'n' and 'm'. /NAME_TYPE? /NAME_TYPE=ODS2 or ISL1 or UCS2 Searches for files with ODS2B (classic VMS), Iso-Latin1 or Unicode name type. This command is" only meaningful for ODS5 disks. H /NOSEARCHA Do not search the volume. This qualifier can only be used with? /HOME. It is used to display only the home block info of the device. /NOVOLSETB The /NOVOLSET qualifier overrides default Volume set processing< by DFU. This is useful e.g. when doing a /LBN search on a specific disk. /MODIFIED@ /MODIFIED=keyword=value This qualifier is used in combination< with 2 possible keywords : BEFORE=date or SINCE=date. The8 revision date is usedI for selecting files. Examples : o /MODIFIED=BEFORE=date/ o /MODIFIED=(BEFORE=date,SINCE=anotherdate) /MULTIPLEC This qualifier displays files which have extension headers. This@ gives an indication about possible fragmentation of the disk.C Note that these headers can also be a result of large ACL lists. /ORGANIZATION< /ORGANIZATION=INDEXED or RELATIVE or SEQUENTIAL or DIRECT@ This qualifier searches for files with the specified RMS file organizJation /OUTPUT@ /OUTPUT=filename This qualifier redirects the output from DFU+ about all found files to an output file. /OVER_ALLOCATEDB /OVER_ALLOCATED=n Select files for which the difference betweenD blocks used and allocated is greater than or equal to 'n' blocks. /OWNERC /OWNER=uic /NOOWNER=uic Selects all files owned by the specifiedA uic. This qualifier cannot be used in combination with /IDENT.B The uic must be specified in a standard [grp,meKm] format. Using@ /NOOWNER causes DFU to search for all files NOT owned by this uic. /PLACED Checks for placed files. /RETURN_LIMITA /RETURN_LIMIT=n restricts the number of file names returned to the user. /NORVNFID? /[NO]RVNFID=rvn Use this qualifier to look for files with orA without a specific RVN FID. If the File id is (x,y,z) one must@ specify'z' as the RVN. Use this qualifier to get files from a specific volume. /SIZE,L /SIZE=option The following options exist:B o /SIZE=MINUMUM=blocksize DFU selects files at least blocksize blocks in sizeA o /SIZE=MAXIMUM=blocksize DFU selects files at most blocksize blocks in size.CBoth options can be combined, e.g.: /SIZE=(MIN=1000,MAX=10000) will7select all files between 1000 and 10000 blocks in size. /SORT? /SORT=ALLOCATION or /SORT=FRAGMENTS when used with /FRAGMENTA This qualifier will sort the results of DFU to the output fMile@ specified in /OUTPUT. By default, file names are sorted. WhenD /SORT is used with /FRAGMENT, output is sorted by file allocationB size or fragment count largest to smallest (). /SORT can not be used with /FULL or /SUMMARY. /SPECIFICATION_MATCH# /SPECIFICATION_MATCH=filename; The specified filename matching pattern string (allowingB wildcards) is matched against each resultant file specificationC returned from the search. This can be utilized to further fNilterC a returned specification. Leading and trailing * may be required= to match the returned device and file name components. For1 example: /SPECIFICATION_MATCH=*[SMITH.*.LOGS]* /STATISTICSC /STATISTICS /NOSTATISTICS (default) Controls whether CPU and I/O( consumption of the command are shown. /SUMMARY> Gives a summary of the total number of files found, and the, number of blocks occupied by these files. /TYPE? /TYPE=ODS2 or ODS5 Searches forO files with ODS2 or ODS5 file& headers. Only useful on ODS5 disks. /UNITD /UNIT=BYTES | BLOCKS /UNIT=BLOCKS (default) Report sizes in unitsD of bytes. The default behavior is to report sizes as block units. /VERSION_NUMBERD /VERSION_NUMBER=option Use at least one of the following options:B o /VERSION_NUMBER=MINUMUM=file_version DFU selects files whose@ version number in the file name is at least 'file_version'B o /VERSION_NUMBER=MAXIMUM=file_version DPFU selects files whose? version number in the file name is at most 'file_version'ABoth options can be combined, e.g.: /VERSION=(MIN=1000,MAX=10000)Bwill select all files with a version_number between 1000 and 10000 inclusive. ww;1 SETD Modifies the characteristics of one or more files. It handles all, attributes which 'SET FILE' can't handle. Format SET file-spec[,...],@file 2 Parameters file-spec[,...],@fileC SpeciQfies one or more files to be modified. If two or more files@ are specified, separate them with commas. A lsit of files mayC be used by specifying @file. Thus, an output file generated by aD DFU SEARCH command can be used to be processed with SET. Wildcard5 characters are allowed in the file specifications. 2 Qualifiers /ACCESS_DATE? /ACCESS_DATE=date /NOACCESS_DATE Controls whether a new fileC access date is assigned to the specified files. Specify the date? R according to the rules described in Chapter 1 of the VMS DCL7 Concepts Manual. Absolute date keywords are allowed. /ATTRIBUTE_DATE@ /ATTRIBUTE_DATE=date /NOATTRIBUTE_DATE Controls whether a newA lats attribute change date is assigned to the specified files.D Specify the date according to the rules described in Chapter 1 ofC the VMS DCL Concepts Manual. Absolute date keywords are allowed. /BACKUP_DATEA /BACKUP_DATE=date /NOBACKUP_DATE Controls whether a new bacSkup< date is assigned to the specified files. Specify the date? according to the rules described in Chapter 1 of the VMS DCLC Concepts Manual. Absolute date keywords are allowed. Use of this> qualifier requires ownership of the file or access control. /BADACLB /BADACL /NOBADACL Sets or resets the 'BAD ACL' flag in the file@ header. This enables deletion of a file with a corrupted ACL. /BCKC /BCK /NOBCK Clears or sets the file's nobackup bit. (/BCK clears! T the bit, /NOBCK sets the bit). /BUCKETSIZED /BUCKETSIZE=size Sets a new value for the bucket size in the file header. /CONFIRM> /CONFIRM /NOCONFIRM (default) Controls whether a request is> issued before each individual SET operation to confirm thatB the operation should be performed on that file. When the systemB issues the prompt, issue any of the following responses: YES NO) QUIT TRUE FALSE (CTRL/Z) 1 0 ALL  /CONTIGUOUS_BEST_TRYA /CONTIGUOUUS_BEST_TRY /NOCONTIGUOUS_BEST_TRY Sets or resets the0 'CONTIGUOUS_BEST_TRY' bit in the file header. /CREATION_DATE> /CREATION_DATE=date /NOCREATION_DATE Controls whether a new@ creation date is assigned to the specified files. Specify theD date according to the rules described in Chapter 1 of the VMS DCLC Concepts Manual. Absolute date keywords are allowed. Use of this> qualifier requires ownership of the file or access control. /DIRECTORYA /DIRECTORY /NODIREC VTORY Sets or resets the directory attributeA of a file. This qualifier allows to set the directory bit of a@ file which was mistakenly reset by the 'SET FILE/NODIRECTORY'B command. If it is done on a non- directory file, then access to2 that directory will give a 'BADIRECTORY' error. /EBLOCKA /EBLOCK[=block] This qualifier will reset the end-of-file markA to the highest block allocated if no block has been specified.> Otherwise the end-of-file mark will be set to theW specified block. /EBYTEB /EBYTE[=byte] This qualifier will set the end-of-file byte markC to the highest byte if it has not been specified. Otherwise, the; end-of-file byte mark will be set to the specified byte. /EXPIRATION_DATE? /EXPIRATION_DATE=date /NOEXPIRATION_DATE Controls whether anB expiration date is assigned to the specified files. Specify theD date according to the rules described in Chapter 1 of the VMS DCLC Concepts Manual. Absolute date keXywords are allowed. Use of this> qualifier requires ownership of the file or access control. /IDENTA /IDENT=identifier or UIC Modifies the file-owner. This command> can also be used on open files (such as INDEXF.SYS). /IDENT% cannot be combined with /OWNER_UIC /IGNORE@ /IGNORE=INTERLOCK Set the file attributes even if the file is open or locked. /LOCKEDD /LOCKED /NOLOCKED This qualifier will lock a file for future use.D Nothing else can then be Ydone with the file, until it is unlocked9 (which can also be done with the VMS 'UNLOCK' command. /LOGB /LOG (default) /NOLOG Controls whether the SET command displays@ the file specification of each file after the modification is made. /MAXRECC /MAXREC=record Sets a new value for the maximum record number in the file header. /NOMOVE@ /NOMOVE /NONOMOVE Disables or enables the MoveFile attribute. /ORGANIZATION; /ORGANIZATION=keyword TheZ following keywords are used as> parameters for the ORGANIZATION qualifier: DIRECT, INDEXED,> RELATIVE and SEQUENTIAL. This will allow to modify the fileD organization type in the file header. Of course this won't change% the real organization of the file. /OWNER_UIC= /OWNER_UIC=uic or identifier Modifies the file-owner. This? command can also be used on open files (such as INDEXF.SYS).. /OWNER_UIC can not be combined with /IDENT. /RECATTRIBUTES< /RECATTRI [BUTES=keyword The following keywords are used as= parameters for the RECATTRIBUTES qualifier: NONE, FORTRAN,B IMPLIED, PRINT and NOSPAN. This will allow to modify the file'sC record attributes in the file header. NONE, FORTRAN, IMPLIED andD PRINT are mutually exclusive, but can be used in combination withD NOSPAN. When NOSPAN is omitted SPAN is assumed (the default is to, allow records to cross block boundaries). /RECSIZEA /RECSIZE=size Sets a new value for the record s\ize in the file header. /RECTYPEA /RECTYPE=keyword The following keywords are used as parameters@ for the RECTYPE qualifier: FIXED, STREAM, STREAMCR, STREAMLF,D UNDEFINED, VARIABLE and VFC. This will allow to modify the file's" record type in the file header. /REVISION_DATEC /REVISION_DATE=date /NOREVISION_DATE Controls whether a revision< date is assigned to the specified files. Specify the date? according to the rules described in Chapter 1 of the VMS DC]LC Concepts Manual. Absolute date keywords are allowed. Use of this> qualifier requires ownership of the file or access control. /RVCOUNT@ /RVCOUNT=count Sets a new value for the revision count in the file header. /UPDATE@ /UPDATE /NOUPDATE (default) Normally the file's revision date< will be updated after any modification to it. SET however? disables this update (otherwise, the REVISION date could not? be set). Specify this qualifier if the revision dat^e must be updated. /VERSION_LIMITD /VERSION_LIMIT=limit Change the file's version limit. Can be used@ with /IGNORE=INTERLOCK to change the version limit of an openD file. However: this will only work when the filename specified isD the highest existing version of that file (this will be automaticD when the version limit is not specified on the command line). TheD specified version limit must be between 0 and 32767. This command$ has no effect on directory files. _/VFCSIZE> /VFCSIZE=size Sets a new value for the VFC size in the fileA header. This value will only be used with the VFC record type.? 2 SPAWN Spawns a subprocess. 2 UNDELETE The Undelete command? recovers deleted files. It is done as safely as possible. IfC undelete discovers that the file header or blocks of the deleted= file have been reused, the undelete process will stop. The? /FILE, /IDENTIFIER or /OWNER qualifier can be used to select@ specific files. The /LI`ST qualifier can be used to generate aD list of recoverable files without actually undeleting files. If aB matching filename is found undelete will ask for a confirmationC before undeleting the file. Multiple files can be undeleted withB just one UNDELETE command. After a successful undelete the file> will be entered in the original directory if possible or inA the [SYSLOST] directory. NOTE: The volume (set) will be locked? for other users during the undelete command unless the a/LIST qualifier is used. Syntax:* UNDELETE device/Qualifiers 3 Qualifiers /IDENT /IDENT=identifier> Select file by identifier. This qualifier cannot be used in conjunction with /OWNER. /FILE /FILE=filenameB Select file by filename. Wildcards may be used in the filename.> If the /FILE qualifier is omitted DFU will use *.*;* as the filename. /LIST /LIST(=output_file)C Generate a list of recoverable files. This commband will not lock. the volume, and will not undelete any file. /MARKED' Select only files marked for delete. /OWNER /OWNER=uic= Select file by owner uic. This qualifier cannot be used in conjunction with /IDENT. /STATISTICSC /STATISTICS /NOSTATISTICS (default) Controls whether CPU and I/OC consumption of the command are shown. 2 VERIFY The Verify optionA provides a function equivalent to ANALYZE/DISK, but many times@ faster. Verify cwill report files with invalid backlinks, lostC files, and blocks which are allocated by more than 1 file. Also,D the BITMAP and QUOTA files are checked. The /FIX qualifier allowsC some basic repair actions without locking the disk. The /REBUILDA qualifier will rebuild INDEXF.SYS, BITMAP.SYS and QUOTA.SYS if? necessary. Note that /REBUILD will lock the disk for a short period of time. Syntax :@ VERIFY device(/OUTPUT=filename/LOCK/FIX/REBUILD) 3 Qualifiers /APPEND dD /APPEND=filename Same as /OUTPUT, but the output will be appendedC to the file if it already exists. Thus, output from multiple DFUD commands can be put in the same output file. If the file does not exists it will be created. /DIRECTORY_SCAN? This optional qualifier directs DFU to make a full directoryB scan. This allows better detection of some cases of lost files,B and detection of some directory corruptions. Use /FIX to repair? such errors. Warning: using /DIeRECTORY_SCAN can take several minutes /FIX= /FIX /NOFIX (default) This qualifier repairs the following errors:% o Deletes files marked for delete3 o Moves lost files and directories to [SYSLOST]? o Repairs a wrong backlink for VMS$COMMON.DIR (system disk)*The /FIX qualifier does not lock the disk! /LOCKB /LOCK /NOLOCK (default) Locks the volume for allocation. To get> a consistent view of the disk one must stall all allocation@ changes off the disk. Otherwise VERIFY may report errors whichA are caused by concurrent disk activity during execution of the@ VERIFY command. A tradeoff is that the disk is locked for the" duration of the VERIFY command. /OUTPUT. Redirects the output from verify to a file. /REBUILDA /REBUILD /NOREBUILD (default) This qualifier repairs structureA errors and mismatches in INDEXF.SYS, BITMAP.SYS and QUOTA.SYS.@ Note that /REBUILD will temporarily lock the device for othger users. /STATISTICSC /STATISTICS /NOSTATISTICS (default) Controls whether CPU and I/O( consumption of the command are shown. ww;1 Screen_ManagementDThis version of DFU optionally uses Screen Management (SMG) routinesAto perform output. DFU will automatically select line mode unless@the logical DFUSMG is defined and the terminal does not have SMGAcapabilities, if DFU is executed in a batch job or if the logical@DFU$NOSMG is defined. In any of hthese 3 cases DFU will switch to6normal line oriented output. The default is line mode.? DFU can be forced to SMG (full display) mode by defining the? logical DFU$SMG to any value. DFU can be forced to line mode9 output by defining the logical DFU$NOSMG to any value.D In SMG mode the /PAGE qualifier will present output page by page.C This may be handy for some commands which produce a large amount of output (SEARCH, REPORT).A In SMG mode the following keys perform speciail functions (Keys* between () are keys on a PC keyboard) :! o CTRL/W : Redraws the screen1 o HELP or PF2 (/) : Invokes the help facility@ o PF4 (-) : Dumps the screen contents to file DFU_SCREEN.TXT@ o PREV_SCREEN (PageUp) : Scrolls the output window back (one screen)D o NEXT_SCREEN (PageDown): Scrolls the output window forward (one screen)? o INSERTHERE (Insert) : Scrolls the output window back (one line)D o REMOVE (Delete) : Scrolls the output window forward (one line)2 o SELECT (End) : Toggle between 80/132 columns% o UP/DOWN : Recall command buffer ww; 1 Author>The original author of this utility, and contributors include: o T. Dorland o W. Saarloos o J. van der Burg o N. Lastovicaww