| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
FreeBSD下如何访问MS-DOS文件系统
作者:佚名    文章来源:网络    点击数:    更新时间:2006-10-17
 

在今天的文章里,我来介绍一下两个来自ports collection的工具,它们用于操作MS-DOS文件系统上的数据。在mtools中的一套DOS风格的命令行工具可以操作软盘上的MS-DOS数据,你硬盘上的其它分区,Jaz和Zip驱动器。程序mfm提供了一个漂亮的GUI图形界面以访问软盘上的MS-DOS数据,并可以在你的宿主目录和MS-DOS格式化过的软盘间快速地传送数据。 

这两个工具的优点是可以让用户透明地访问这些数据而无需事先装载文件系统。如果你还记得装载其它文件系统这篇文章里的内容,那么应该知道只有超级用户可以装载文件系统。如果你是个管理员或者使用FreeBSD系统的家庭成员,那么不会出现在有人想访问软件数据时抢着装载文件系统的情况。但是,作为一个新用户,你可能会在取出软件之前忘了卸载文件系统;如果你曾经有这样的经历,你会发现FreeBSD会惊慌,重启或者在你这样做时向你给出讨厌的错误信息。 

所以,让我们还是创建这些工具并查看一下如何使用吧。要创建它们有两个方法:预编译安装包或移植port。我会以port方式创建mtools,并以安装包方式安装mfm来示范这两种方法。先成为超级用户,确保已经联入Internet,并进入mtools的port目录进行编译: 

su 
Password: 
cd /usr/ports/emulators/mtools 
make && make install 
一旦编译完成,打开你最喜爱的web浏览器并联到http://www.freebsd.org/x11-fm.html。往下翻到mfm-1.5,把安装包保存到硬盘上的某个目录中;我已经在系统上建好一个目录/usr/packages用于此目的。当下载完成后: 

cd /usr/packages 
pkg_add mfm* 
当安装好后,用exit退出超级用户账号。如果你正在用C shell,请用rehash命令使命令解释器知道有新的程序了。 

让我们来看一下mtools。如果你键入它的名称,它会给出一份你可以使用的工具列表: 

mtools 
支持的命令有:mattrib、mbadblocks、mcat、mcd、mcopy、mdel、mdeltree、mdir、mdoctorfat、mdu、 mformat、minfo、mlabel、mmd、mmount、mpartition、mrd、mread、mmove、mren、mshowfat、 mtoolstest、mtype、mwrite、mzip。 

如果你以前曾经用过DOS的话,就会觉得其中有很多程序名很熟悉的;唯一的区别只是它们都是字母m开头。每个工具都有相关的手册页,所以你可以看一下它们的语法。手册页的第1和第5部分有mtools本身的信息。 

让我们来看一下如果键入mcd会发生什么: 

mcd 
A:/ 
这看起来还不错,因为这是MS-DOS的提示符用来表示你的软驱。有经验的DOS用户会注意到那个斜杠用Unix风格替代了DOS风格。现在来看看是否可以用mdir命令查看软盘上的内容: 

mdir 
fd0c: hard error reading fsbn 0 (No status) 
plain_io: Input/output error 
init A: could not read boot sector 
Cannot initialize ’A:’ 
哦,我太心急了,都忘了在软驱里插张盘了。幸运的是,mdir会在试图访问盘上数据前作仔细检查的。好,现在插张盘再试一下: 

mdir 
Can’t open /dev/rfd0: Permission denied 
Cannot initialize ’A:’ 
在被权限问题搞得头晕之前,先来检查一下mtools的配置文件看它需要什么。如果你键入: 

man 5 mtools 
你将发现配置文件的名称是mtools.conf,而且它位于/usr/local/etc中。现在看一下谁有该文件的访问权限并更改一下: 

ls -l /usr/local/etc 
drwxr-xr-x  9 root   wheel  1024 Dec  2 11:57 . 
-r--r--r--  1 root   wheel  4441 Dec  2 11:50 mtools.conf 
看起来任何人都有读此文件,但只有超级用户才能更改内容。(忘了权限的含义?)让我们先来读一下这个文件: 

more /usr/local/etc/mtools.conf 

# Example mtools.conf files.  Uncomment the lines which correspond to 
# your architecture and comment out the "SAMPLE FILE" line below 

# A note on permissions:  a user must have read and  
# write permissions for the devices named here in  
# order to access the DOS file systems.  You might  
# give ALL USERS access to ALL FLOPPY DISKS via  
#the command 

#     chmod a+rw /dev/*fd* /dev/rfd[0-9]* 

# # FreeBSD floppy drives 
drive a: file="/dev/rfd0" 
drive b: file="/dev/rfd1" 
看来我们需要让所有的用户都有访问软驱的权限;幸运的是,指出FreeBSD软驱设备的那些行已经为我们去掉了注释,所以我们无需对此配置文件作任何更改。 

现在看一下/dev/rfd0的权限情况,因为它被mtools看作是“A:”: 

[1] [2] [3] 下一页


相关文章