mtools(1) — Commands
NAME
mtools − Provides a collection of tools for manipulating DOS files
DESCRIPTION
The mtools commands are a public domain collection of programs that let you read, write, and manipulate files on a DOS filesystem (typically a diskette) from a UNIX system. Each command attempts to emulate the DOS equivalent command as closely as possible. The following commands are available:
mattribchange DOS file attribute flags
mcdchange or report the DOS working directory
mcopycopy DOS files to and from a UNIX operating system
mdeldelete a DOS file
mdirdisplay contents of a DOS directory
mformatadd a DOS file system to a low-level formatted diskette
mkmanifestcreate a shell script to restore UNIX filenames from DOS
mlabelmtools utility to label a DOS volume
mmdmake a DOS directory
mrdremove a DOS directory
mreadperform a low level read (copy) of a DOS file to UNIX
mrenrename an existing DOS file
mtypedisplay the contents of a DOS file
mwriteperform a low level write (copy) of a UNIX file to DOS
DOS filenames are optionally composed of a drive letter followed by a colon, a subdirectory, and a filename. Subdirectory names can use either the ’/’ or ’\’ separator. The use of the ’\’ separator or wildcards requires the names to be enclosed in quotes to protect them from the shell.
The regular expression "pattern matching" routines follow the UNIX-style rules. For example, an asterisk (∗) matches all DOS files in place of asterisks separated by a dot (.) such as ∗.∗. The archive, hidden, read-only and system attribute bits are ignored during pattern matching.
Not all UNIX filenames are supported in the DOS world. The mtools commands may have to change UNIX names to fit the DOS filename conventions. Most commands provide the verbose flag (-v), that displays new filenames if they have been changed. The following table shows some examples of filename conversions:
| UNIX name | DOS name | Reason for the change |
| _ | _ | _ |
| thisisatest | THISISAT | filename too long |
| file.stuff | FILE.STU | extension too long |
| prn.txt | XRN.TXT | PRN is a device name |
| .abc | X.ABC | null filename |
| hot+cold | HOTXCOLD | illegal character |
All options use the minus (-) flag, not the slash (/) as provided under DOS conventions.
The mcd command is used to establish the device and the current working directory (relative to the DOS filesystem), otherwise the default is assumed to be A:\.
All the mtools commands return 0 on success and 1 on complete failure.
All mtools require a floppy diskette properly installed on the system. All mtools facilities address a device named /dev/fddrive, therefore, a symbolic link between the floppy device and /dev/fddrive is also required.
RESTRICTIONS
If the proper device is not specified (when multiple disks capacities are supported), an error message from the device driver may be displayed. This message can be ignored.
EXAMPLES
1.If the diskette is a SCSI attached floppy drive designated device rz13, the following example sets up a floppy diskette for access by the mtools commands:
# cd /dev
# ./MAKEDEV rz13
You can then link the device to /dev/fddrive as follows:
# ln -s /dev/rrz13 /dev/fddrive
2.The following example sets up a floppy diskette for access by the mtools commands if the floppy drive is FDI attached:
# cd /dev
# ./MAKEDEV fd0
You can then link the device to /dev/fddrive as follows:
# ln -s /dev/rfd0 /dev/fddrive
3.The following example also sets up a SCSI attached floppy diskette for access by the mtools commands:
# /usr/sbin/mknod /dev/rrz13c c 8 21506
You can then link the device to /dev/fddrive as follows:
# ln -s /dev/rrz13c /dev/fddrive
Remember to use the appropriate SCSI name and minor number for your configuration. In this example, this is dev/rrz13c.
CAUTION: This method is recommended for use only by experienced system administrators.
RELATED INFORMATION
Commands: ln(1), mattrib(1), mcd(1), mcopy(1), mdel(1), mdir(1), mformat(1), mlabel(1), mmd(1), mrd(1), mread(1), mren(1), mtype(1), mwrite(1)
Floppy disk interface: fd(7)
Utilities: MAKEDEV(8) mknod(8)