PIP - The RSX11M File Utility PIP (Peripheral Interchange Program) is a general RSX utility which is used to copy files from one device and/or account to another, delete unneeded files, purge unneeded file versions, merge two or more files into a single file, provide a listing of the directory of the user's files, and list a source file at the user's terminal (TI:) or the system printer (LP:). Additional HELP may be requested by typing HELP PIP keyword where allowed keywords are: COMMANDLINE Using the PIP command line COPY Copying files DELETE Deleting files DIRECTORY Obtaining a listing of one's files LIST Listing the contents of a file MERGE Merging two or more files together PURGE Purging files SPOOL Spooling a file to the line printer SWITCHES Information on PIP switches INDEX Index of available switches /sw Specific information on /sw TRUNCATE Truncating unused blocks from a text file UNLOCK Unlocking a locked file 2 COMMANDLINE The general format of a command to PIP is outputfile/Sw1.../Swn = inputfile1/Sw1...,inputfile2/Sw1.... where Sw1,...Swn are any number of switches. The switches are the commands to PIP which perform operations on the files. If switches are omitted PIP will copy an existing input file into an output file. If the file version number is omitted PIP uses the highest version number. PIP has many command switches but almost everything one needs to do can be done with very few switches. HELP with RSX11M File Specifiers may be obtained by typing HELP FILES. HELP on all the PIP switches is available by typing HELP PIP SWITCH /sw where sw is one of the following: AP, BL, BR, CD, CO, DE, DF, EN,EOF, FI, FO, FR, FU, ID, LD, LI, ME, NM, NV, PR, PU, RE, RM, RW, SB, SD, SP, SR, SU, TR, UF, UN, UP 2 WILDCARDS PIP allows a "wildcard" in its command structure. Any part of a standard RSX11M File Specifier (NAME, TYPE, VER, etc) may be replaced with a "*". An * signifies that any NAME, TYPE, or VERSION within a directory can can satisfy the given command switch. 2 SWITCHES Basic PIP Switch Summary LI LIST the contents of a UFD *.*;*/LI OR /LI list all files PU PURGE (i.e. DELETE) all but the highest version number of a given file (name.type combination). GRAPH.*;*/PU purge all files with name GRAPH with any type. DE DELETE the specified file CALC.FTN;77/DE delete CALC.FTN;77 from your UFD UN UNLOCK the specified file (files can be locked for access if a program using them is aborted) CALC.FTN;78/UN RE RENAME an existing file GRAPH1.BAS/RE=GRAPH.BAS rename the highest version of GRAPH.BAS to GRAPH1.BAS ME MERGE several files SUMFIL.FTN=FILE1.FTN,FILE2.FTN/ME 3 INDEX /AP Append /BL:n Block size /BR Brief List /CD Creation date /CO Force contiguous output /DE Delete /DF Set PIP defaults /EN Enter a filename into a directory /EOF Position EOF marker /FI Reference a file by file-id and sequence number /FO Set file ownership /FR Free space /FU Full list /ID Print PIP version /LD List delete /ME Merge /NM No message /NV New version /PR Set file protection /PU Purge /RE Rename /RM ReMove directory entry /RW ReWind magtape /SB Span blocks copying from tape to disk /SD Selective delete /SP Spool /SR Shared read /SU Supersede /TB Total blocks used /TR Truncate /UF Transfer to correct UFD on wildcard copies /UN Unlock /UP Update 3 AP /AP Specifying the /AP switch will append a file to an existing file, creating a file of one higher version. example: PIP TEST.CMD/AP=XYZ.CMD will append XYZ.CMD to TEST.CMD creating a new version of TEST.CMD. 3 CO /CO Specifying /CO forces the output file to be contiguous. When copying contiguous files from magtape (such as task images) specify both the /CO and /BL:n because PIP can not determine the length of the input file when copying from tape. Specifying /-CO forces the output file to be noncontiguous. 3 CD /CD Creation Date. This switch allows you to preserve the creation date of a file when transferring (copying) the file. Obviously, this switch won't work during a 'Merge' type command. 3 BL /BL Specifying /BL:n (n is number of blocks (octal), n. is number of blocks (decimal)) along with the /CO switch on the output file specifier forces a file to be contiguous and n blocks long. 3 BR /BR Prints a brief format of the directory, specifying only the filename, filetype and version. 3 EOF /EOF End of file switch. This switch allows you to alter the EOF position in a file. Under certain conditions, i.e., a system crash, a file will contain useful information but the EOF pointers will be wrong, preven- ting you from getting at it. The format of this switch is: filespec/EOF[:BLOCK:BYTE], [filespec/EOF:[BLOCK:BYTE]] The value of 'BLOCK' is the block number in which you wish to indicate EOF or the first unused byte of the block. If neither value is entered, the EOF will be placed at the last byte of the last block allocated to a file. This switch is local to each filespec and does not default from left to right. 3 RM /RM Removes a filename entry from a directory. This can be used to remove filename synonyms created with the /EN switch. This does NOT delete the file from the device. If the filename is not in any other directory, it can only be accessed by its file-id and sequence numbers, as well as with the VFY /LO function (searches for 'lost' files). 3 RW /RW To rewind a magtape use the /RW switch on the input file. If used on the output file, the contents of the tape will be erased. 3 LI /LI Prints a directory listing of the specified device. If no device is specified, then the default device is SY:. The account listed defaults to your current UIC. Wildcard specifiers for the group number and/or the member number may be entered in place of specific UIC numbers. Multiple devices and UIC's may be specified. 3 DE /DE A file may be permanently deleted using the /DE switch. The file's version number must be explicit or the file will not be deleted. The wildcard character * may be used in place of a version number to indicate that all versions are to be deleted. 3 DF /DF PIP's default device and/or UIC can be changed from the user's SY: assignment and login UIC to some other values. This is only useful when commands are to be entered directly to PIP prompts (i.e., a single invocation of PIP is to execute a series of commands). For example, PIP> DY:/DF sets the default SY: device assignment for subsequent commands to the floppy disk device DY0:. This does NOT change the user's SY: assignment. 3 EN /EN Enters a synonym for a file in a directory. Files can be entered from other directories as well as the owner's UFD. 3 FI /FI A file can be accessed by its file-id and sequence numbers in place of its file name, extension and version. Format of this switch is /FI:filenum:seqnum where filenum and seqnum can be obtained from a PIP /FU listing or through the DMP and VFY utilities. 3 FR /FR The free space available on a disk is shown by typing PIP ddn:/FR 3 FU /FU The /FU switch provides a full listing of the user's directory. By specifying /FU:n. (where n is the width of your terminal) one can control the output format of this listing. 3 LD /LD List Deleted. This subswitch (used with /DE, /PU) displays those files deleted or purged using a /DE or /PU switch. example: PIP *.TMP;*/DE/LD THE FOLLOWING FILES HAVE BEEN DELETED: DL1:[304,17]A.TMP;1 DL1:[304,17]AA.TMP;1 3 /FO /FO Often used when copying files from one device/directory to another as well as with the /PR switch (setting protection word). The /FO switch sets the file ownership to the UIC the file is residing in/being copied to. See the Utilities Manual (page 4-8) for further details. 3 ID /ID Causes PIP to print its version number. 3 NM /NM No Message. This switch supresses certain error messages. At this time only the FILE NOT FOUND MESSAGE is suppressed. 3 NV /NV New Version. Forces the output file version number to be one greater than the latest version (if one exists) in the output directory. Not necessary if output and input files are in same directory. 3 ME /ME The /ME switch can be used to specify the merging of several files, but it is not needed. See also HELP PIP MERGE. 3 /PR /PR Sets the protection word for a file. Possible protections are for reading (R), writing (W), extending (E) and deleting (D). There are four protective distinctions: 1) "group" - group codes identical, member codes different ([group,*]), 2) "owner" - both group and member codes identical ([group,member]), 3) "system"- privileged users - group codes of 10 or less, 4) "world" - nonprivileged users - everybody else. Example: filspec/FO/PR/GR:RWED/OW:RWED/SY:RWE/WO:R where /GR: sets the protection for people in the same group, /OW: sets the protection for people in the same group and member, /SY: sets the protection for people with a group number of 10 or less, and /WO: sets the protection for everybody else. Optionally, one can set the protection status bits directly with the /PR:n, where n specifies the entire file protection mask. This switch can be used with /FO. 3 PU /PU The /PU switch purges old version numbers of files from a user's directory. See also HELP PIP PURGE. 3 RE /RE The /RE switch can be used to rename a file (give it a new name). 3 SB /SB Records copied from tape to disk and vice versa may cross block boundaries whether or not the /SB switch is specified. If the /-SB switch is specified no records will cross block boundaries. 3 SP /SP The /SP switch forces a file to be spooled. Any file with a name LP.LST, *.DMP, or *.MAP will be deleted after spooling. If more than one copy is desired, the /SP:n. switch will spool the file n. times. See also HELP PIP SPOOL. 3 SD /SD Selective Delete. This switch allows you to selectively delete files. It will prompt you with a candidate filename from the class of files specified in the command line. Your response choices are the letters Y, N, G, and Q followed either by a carriage return or ^Z (control-Z). The following table describes the effect of each combination of letter and terminator. Letter Terminator Operation ------ ---------- --------- Y Delete this file and continue in this mode <^Z> Delete this file and exit from PIP. N Save this file and continue in this mode. <^Z> Save this file and exit from PIP. Q Save this file and return to command mode. <^Z> Save this file and exit from PIP G Delete this file and all remaining candidates and return to PIP command mode when done. <^Z> Delete this file and all remaining candidates. Exit from PIP when done. 3 SR /SR Shared Read. This switch allows you to copy (read) from a file that is currently open for write. No guarantee may be made about what you might get since the EOF pointers may be incorrect at the time you open the file. 3 SU /SU A current file (name.ext;ver) may be superseded by a new fielewith the same version number by applying the /SU switch to the output file. The superseded file is deleted and the new file will have a different file-id and sequence number. See also HELP PIP SWITCH UP. 3 TB /TB Scans the directory and prints a summary line detailing the total number of blocks used, the number of blocks allocated and the total number of files. 3 TR /TR Truncate. This switch will truncate a file to its logical EOF. See also HELP PIP TRUNCate. 3 UF /UF Creates a UFD entry in the Master File Directory on the output device to which a file is being transferred. Should be used in conjunction with the /FO switch. Example: PIP outfile/UF[/FO] = infile,...infilen ( [/FO] means optional switch ) Multiple directories can be created with the following command: PIP dev:[*,*]/UF/FO=indev:[uic]infile,...[uicn]infilen See Utilities Manual pages 4-35 through 4-36 for more information. 3 UN /UN The /UN switch unlocks a locked file (one which was improperly closed). See also HELP PIP UNLOCK. 3 UP /UP A file (name.ext;ver) may be overwritten by a new file by specifying the /UP switch to the output file. The output file is physically over- written and file-id and sequence numbers are preserved. See also HELP PIP SWITCH SU. 2 COPY A file may be copied from disk to disk, disk to tape and back, or from one part of a disk to another by using the standard command outfilespecifier=infilespecifier If a disk or [UIC] is not specified in a file specifier files are only copied from one part of the user's file area into another part of the user's file area. example: PIP DL1:=DL0:[377,40]REPORT.FTN or PIP =DL0:[377,40]REPORT.FTN or COPY DL0:[377,40]REPORT.FTN DL1: (via CCL) Both these command lines will copy the file REPORT.FTN on [377,40] on DL0: onto the user's file area on DL1:. 2 DELETE A file may be permanently deleted from the disk. When this is done there is no way to recover the file. Deleting a file frees up disk space so that other files may be created. To delete a file using PIP, the version number must always be specified in the command line. If in PIP type filename/DE where filename =name.ext;ver If not in PIP type PIP filename/DE Else DELete filename (via CCL) 2 /BR #DIRECTORY 2 /LI #DIRECTORY 2 /FU #DIRECTORY 2 DIRECTORY A user may obtain a DIRECTORY listing of all the files in his UFD (or a selected group of them) using PIP or SRD. SRD is faster, but provides less information than PIP. For HELP with SRD, type HELP SRD. A fast directory listing is obtained with the /BR switch, a medium long listing (with block usage) with the /LI switch, and a full direc- tory listing with the /FU switch. examples: /LI Lists all files and blocks used /BR Brief listing of all files /FU Full listing of all files *.FTN/LI Listing of all files with .FTN exten- sions with the highest version number TARGET.*/BR Brief listing of all files named TARGET with any extension and with the highest version number 2 SPOOL #LIST 2 LIST A file may either be listed at a user's terminal or SPOOLED to the line printer. To list a source file at your terminal type (if you are in PIP) TI: = filename or (if not in PIP) type PIP TI: = filename or LIST filename (via CCL) or TYPE filename (also via CCL) To SPOOL a file type (if in PIP) filename/SP[:n.] or (if not in PIP) type PIP filename/SP[:n.] or PRINT filename (via Queue Manager) or SPOOL filename (via CCL) where the optional :n. indicates the number of copies desired. Defaults to one copy. 2 PURGE Each time a file is edited or created a version number 1 higher than that of the previous file with the same name and extension is used. To PURGE a file (delete all old versions but retain the most recent version(s)) type (if in PIP) filename/PU[:n.] (if not in PIP) PIP filename/PU[:n.] or PURge filename (via CCL) The optional :n. specifies that the last consecutive n. versions will be saved. The default for n. is 1. 2 RENAME To RENAME a file attach the /RE switch to the outfilespecifier, i.e., outfilespec/re=infilespec or REName infilespec outfilespec (via CCL) The rename operation does not create a new file, it just changes the name of the infilespec to the name of the outfilespec. 2 MERGE Two are more files may be merged into a single file by using the command string outfile=infile1,infile2,infile3..... The order of the sources appearing in outfile is corresponds to the order of the input files. Use of the /ME switch is not required. 2 TRUNCATE Truncating a File to Its Logical End Each time a program requests disk block space, the allocation requests are granted in 5 block increments (by default). This feature is particularly noticible when using the editor. Invariably every edited file uses up from 1 to 4 blocks more than it physically requires. This space may be recovered using the PIP utility. The /TR switch in PIP will lop off the unused blocks in any file using the syntax: PIP> filespec/TR where filespec = DEV:filename or TRUncate filespec (via CCL) If DEV: is omitted a default SY: is inserted for DEV:. The File Specifier may be either a standard RSX file specifier or it may contain wildcards which are accepted in the following formats: name.* *.ext *.* If wild cards are specified, it is assumed that the version should also be a wild card. 2 UNLOCK A file which is improperly closed, i.e., a task aborts without closing a file, is LOCKED by the file system. To use the file again, it must first be unlocked. To unlock a file type PIP filespecifier/UN The /UN switch will unlock the file. Alternatively, the CCL command UNLOCK filespecifier perform the same function.