发新话题
打印

古典也流行之mtools

本主题由 admin 于 2007-11-4 12:11 移动

古典也流行之mtools

有一天,我要从多年前同事备份好的很多张(近40张)软盘中找一些办公用的文件,这真是一件非常痛苦的事情。因为使用的是Linux,为了更方便地处理软盘以及一些和DOS相关的文件,我选择使用了mtools。mtools是DOS文件系统的工具程序,它可以模拟许多DOS命令,使用起来非常方便。 也许有人会问为什么非得要使用类似于mtools这样的工具,而不使用mount(比如使用mount -t msdos /dev/fd0 /mnt/floppy命令加载软盘)这样的传统Linux命令来访问软盘。对,我就知道会有人问这个问题。原因很简单:首先,重复加载和卸载的过程非常让人厌烦;其次,mtools的功能可以自动把数据由DOS格式转换成Linux格式,并且由于其命令和DOS命令非常相似,所以使用起来相对来说要简单得多(这一点对于新手来说尤为重要)。mtools的使用非常简单,比如说,如果你想把软盘里所有的文件都拷贝到硬盘上,那么你就可以执行以下命令:

mcopy  a:*.*

也就是说,只需要在相应的DOS命令之前加上一个字母“m”,你就可以完成对应的功能了。怎么样,很简单吧!当然了,要Linux能做到这一切,你必须首先安装mtools软件。不用担心,很多发行版在缺省安装的情况下都会安装mtools。如果不知道是否安装了该软件包,可以输入mdir查一查。如果没有安装,那也没有关系,可以从网上下载(http://mtools.linux.lu/)一个最新版本来安装。当我写这篇文章时,可供下载的最新mtools版本是3.9.8。要安装下载的软件,使用以下命令:

tar -xzvf mtools-3.9.8.tar.gzcd mtools-3.9.8./configuremakemake install

在一般情况下,如果只使用mtools来处理DOS/Windows文件格式的软盘,那么无需对其进行任何配置。也就是说,mtools不仅仅可以用来处理软盘,还可以对Windows分区(比如C:)进行拷贝、复制等操作。当然,要做到这一点,必须要进行一些配置。配置文件位于/etc/mtools.conf。

使用具体命令现在让我们来看一看在配置文件中如何配置驱动器。在/etc/mtools.conf文件中,有关A:驱的内容如下所示:

drive A: file="/dev/sda1" exclusive scsi=1 mformat_only

也许你会问为什么代表驱动器的是sda1而不是sda0。这是因为在我的USB口上插了USB磁盘,而它占用了sda0地址。 在进行配置之前,让我们来看一看该软件的一些命令。下面使用mtoolstest命令来显示A:盘的情况:

$ mtoolstestdrive A:#fn=2 mode=0 defined in /etc/mtools.c fat_bits=0tracks=0 heads=0 sectors=0 hidden=0offset=0x0partition=0scsi privilegedmformat_only


把软盘进行快速格式化:

mformat A:

请注意,mtools并不是一个纯粹的软盘工具。事实上,可以使用它来对硬盘上的DOS分区进行操作。比如,你使用的是带有Windows分区的双启动系统,那么可以把该驱动器加载成Linux分区,或者可以使用mtools像操作软盘一样来操作它。要做到这一点,我在/etc/mtools.conf文件中增加了下面一行(假设我的Windows分区是/dev/hda1):


drive C: file="/dev/hda1"


这样, 就完全可以访问软盘的方式来访问C:盘了,并且无论处于哪一个目录,你都可以使用“mcd A:”命令返回到A盘。 要创建一个名为fish的目录并且显示之,可使用以下命令:


mmd fishmdir


这时系统的回应就是:

Volume in drive A is WIN95_BOOTVolume Serial Number is 1C37-10E8Directory for A:/fish.  <DIR>03-05-2002  16:53.. <DIR>03-05-2002  16:53      2 files  0 bytes      330 752 bytes free


怎么样,看起来是不是有点像在老的Windows 95启动盘上工作。 说到启动盘,一些DOS和Windows文件,比如IO.SYS,其属性就被设为隐藏以保护这些文件。这些属性可以使用DOS的Attrib命令来进行查看和更改。在这里,相应的命令是mattrib:


$ mattrib A:*.*A  SHR     A:/IO.SYSA  SHR     A:/MSDOS.SYSA          A:/COMMAND.COMA  SHR     A:/DRVSPACE.BINA          A:/FDISK.EXE


以下是一些常用的命令:

◆ Mbadblocks,扫描并标识坏的磁盘空间;
◆ Mdel,删除一个DOS文件;
◆ Mdeltree,删除一个目录以及该目录下的所有文件;
◆ Mdu,报告磁盘的使用情况 (等同于Linux的du命令);
◆ Mformat,对软盘进行快速格式化;
◆ Minfo,报告一个DOS驱动器的容量等信息;
◆ Mmove,移动、重命名一个目录或者文件;
◆ Mrd,删除一个目录;
◆ Mshowfat,显示一个文件的FAT信息;
◆ Mtype,显示DOS文件的内容。 需要说明的是,在mtools命令中,/和\是可以混用的。因为列表的是DOS系统下的文档,对大小写并不敏感,所以“abc”和“Abc”在这里是等同的。


应用图形界面

如果需要经常对这些DOS文件进行操作,那么还可以使用图形界面。mtools有一个非常不错的图形化文件管理器。该软件可以从网上下载(http://w[url=http://wwww.core-coutainville.org/mtoolsFM]www.core-coutainville.org/mtoolsFM[/url])。网上已经有编译好的RPM文件。如果要使用源码来安装,可以使用以下命令:

tar -xzvf MToolsFM-1.9-3.tar.gzcd MToolsFM-1.9-3./configuremakemake install

要使用这个程序,只需输入命令mtoolsFM。它使用起来非常直观,因此也很简单,其界面如图1所示。




图1 直观、易用



的mtoolsFM界面由于mtools当初发展的目的是用来处理DOS文件系统的,所以只能用在FAT文件格式的分区上。还需要注意的是,如果你用mount命令来挂载了FAT分区,那么你也不能使用mtools的指令来处理这些分区上的文件。这是因为一旦FAT分区挂到了Linux文件目录下,Linux就会将其视为文件系统本身的一部分。这时你要对其操作就必须要使用Linux自己本身所附带的指令集。

(责任编辑 Sunny

[ 本帖最后由 Oracle 于 2007-7-6 13:07 编辑 ]

TOP

发新话题