vio Options

The following options can be used with the vio utility:

-b      Causes the archive to be blocked with 10 input records per output record. Each input record is normally 512 bytes. Blocking is specified only during output; vio automatically determines whether or not an archive is blocked when it is doing input.
-c Forces all files read from the archive to be placed in the current directory. Any directory information in each file is removed and the file is placed in the current directory using just its base name. This is useful if someone sends you a file with a full directory specification that does not match your machine.
-d Allows vio to create directories as needed to read a file.
-f Allows you to specify the archive file directly. The next separate command-line argument is the name of the archive file. This is particularly useful when you are writing a multi-volume archive, because vio will not need to prompt you for the name of the archive when it has to change volumes.
-g Rings the bell when a new volume is needed.
-h In the input mode, you may specify a number of bytes to skip from the beginning of each archive volume. This value is specified as the next separate argument. This is used to skip headers on media that some machines produce.

In the output mode, the next separate argument should specify the name of a file. This file is exactly copied to the beginning of each archive volume. This is used to simulate a media header required by a target machine.

For example, an AT&T 7300 diskette contains a header in the first 8 sectors. If you write a diskette on another type of machine, the 7300 will not recognize it. To get around this problem, take a diskette written on a 7300 and extract the header using this UNIX command: dd if=disk-device of=73header count=4096. You can then specify -h 73header as part of a vio command to have this header placed on each diskette of the archive. The 7300 will then be able to read these diskettes. If you are coming from a 7300, you can use -h 4096 to cause vio to skip the first 8 sectors of each diskette.

-k Changes vio's notion of a record size from 512 bytes to 1024 bytes. All I/O is done using the record size, or a multiple of the record size. This option is occasionally useful on some machines that require 1KB transfers to devices. If you use this option on output, you must then also use it when reading the created archive. This option should be used only if required. You can improve performance better by using the -b option instead.
-l Allows you to specify a list of files to output as the next command-line argument. vio will then read this list instead of using its standard input. Note that this list must reside in a file, one line per entry.

An optional flag (<space> b or <space> B) may be placed after the filename. This specifies that the file should be written to the archive without translation (same as the -p option, except -p applies to all non-indexed files in the list).

For example, if the file list contains two lines file1 and file2 b, then specifying -l list will cause file1 and file2 to be written to the archive, with file2 written as a binary file. This option is useful on machines that do not allow standard input to be redirected.

-m Causes vio to restore the file's modification time from the archive along with the other file attributes.
-n Causes vio to assign a new owner (the current user) to extracted files. This is particularly useful when you are transferring files to another machine, because the original user ID is probably not meaningful in this case.
-p Causes non-indexed files to be treated in a pure (binary) form. This prevents any text file conversion from occurring. vio stores its archives in a standardized format (similar to a UNIX text file). When it's creating archives, it converts any non-indexed file to this format unless this option is specified. (This option applies to all non-indexed files in the list and thus behaves as if you had specified "<space> b" for every non-indexed file in the list, even if you did not.)
-r Causes indexed files to be treated as raw data files. No conversion is done when the file is written to the archive. This should be done only if the archive is going to be read by a binary-compatible indexed file system. Note that all Vision Version 6, 5, 4, and 3 files are binary-compatible, so you can use this option to move Vision 6, 5, 4, and 3 files. Specifying this option will speed up vio, so it is a reasonable option to use if you are doing backups.
-s In the output mode, this allows you to specify the size of the media. This is useful on a few machines that do not detect end-of-media correctly. The size is specified as the next command-line argument. This should be the number of blocks to place on the media. Normally, a block is 512 bytes, but the -k option causes blocks to be 1024 bytes in size. vio will not place more than this many blocks on the output media before changing volumes. For example: -s 2400 could be used to store 2400 blocks per diskette.

In the input mode, this option allows you to skip volumes. This is useful if vio dies due to a media error and you want to recover files on successive volumes. This option causes vio to start with whichever volume it finds physically mounted.

-t Causes vio to print the titles of the files in the archive rather than extracting the files. If this is specified with the -v option, long information is printed about each file.
-u Causes vio not to do a translation of filename directory separators.

vio by default changes all filenames to use forward slashes as directory separators. This is done to avoid problems in cases when an archive is made on a Windows machine with filenames that use backslashes (\), and then extracted on a Unix machine. The files extracted would not be stored in directories, but would instead be created with the backslashes in the names, causing problems for the user who had to work with these files.

For example,

vio -ovbulf listfile archive.vio

causes vio to not translate any backslashes in filenames listed in listfile to forward slashes. Similarly,

vio -ivnduf archive.vio

causes vio to not translate any backslashes in filenames in the archive to forward slashes.

Windows versions of vio handle forward slashes just fine; you do not need to use the -u switch on those systems to have your filenames interpreted correctly. The main purpose of providing this switch is backwards compatibility.

-v Causes vio to be verbose about its progress. Note that when it's extracting files from an archive, vio prints each name as it starts to work each file. If vio dies for some reason, the last name printed will not have been completely extracted.
-3 Specify this option when you are reading an archive and want to produce an indexed file in Vision Version 3 format, rather than Version 6 file (the default).
-4 Specify this option when you are reading an archive and want to produce a Vision Version 4 file.
-5 Specify this option when you are reading an archive and want to produce an indexed file in Vision Version 5 format.
-6 Specify this option when you are reading an archive and want to produce an indexed file in Vision Version 6 format (the default).

vio recognizes UNIX-style names on non-UNIX environments. For example, if you specify the name ../demo/compfile on a VAX system, vio will treat this name as [-.DEMO]COMPFILE.. For this reason, you should use UNIX-style names if you want to move directory structures between machines with different operating systems.