[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 系统管理 > 其它 > 正文
UNIX/XENIX系统下软盘文件的存取
本文出自: 作者: 刘辉 (2001-07-05 21:04:01)

  使用UNIX/XENIX操作系统的微机都毫无例外地使用硬盘,而且硬盘的容量还相当大,一般为 540M 以上。但是由于许多人共用一个系统,随着时间的推移,可用的磁盘空间总是越来越小。对系统管理员来说,需要定期更新长时间不用的文件,对于每个普通用户来说,需要经常把自己目录下的有用文件及时保存在软盘上,因此在UNIX/XENIX系统下使用软盘的必要性比起DOS系统来是有过之而无不及。但是在UNIX/XENIX系统下软盘的使用方法与DOS系统下完全不同,也比较复杂。这里介绍一些软盘使用的基本方法。
  在UNIX/XENIX系统下存储磁盘文件,有两种基本的格式:块格式和字符格式。块格式即文件系统格式,使用时需用mount命令将其作为文件系统安装在UNIX/XENIX根文件系统下的安装目录上。这个安装目录就可以像根系统下的其它子目录一样使用,使用安装目录就是使用软盘,可以用随机存取方法存取数据文件。字符格式即通常说的tar格式,是将软盘作为一个特别文件使用,采取顺序存取的方法,按块复制的方法进行磁盘文件的存取。
  但是不管用哪种方法使用软盘,首先都必须进行软盘格式化,这是可以由任何一个普通用户在任何时刻执行的。新的软盘在使用之前必须格式化。

一、 软盘格式化

  命令格式为:format 〈特别文件名〉
  其中特别文件名用于指定使用哪个软盘驱动器,对哪种形式的软盘进行格式化。例如在通常的486微机(例如ACER-486-66)上,一般A驱动器为3寸,B驱动器为5寸。在A驱上格式化3寸1.44M软盘需要打入命令:
  # format /dev/rfd0135 则屏幕显示:
  Insert floppy in drive;hit return when ready
  formatting /dev/rfd0135
  track 79 head 1
  done (格式化完毕)
  同样在B驱格式化5寸1.2M软盘可打入命令:
  # format /dev/rfd196
  输入格式化命令时,一定要指定软盘为字符I/O型设备文件,即在“fd”前加一个字母“r”成为“rfd”。“rfd”表示原始设备,否则格式化不能进行,显示如下:
  #format /dev/fd0135
  #format /dev/fd0135 not a formattable device
  (/dev/fd0135不是可格式化的设备)
  软盘格式化以后,就可以在UNLX/XENIX系统下用随机存取或顺序存取的方法进行使用。当OS格式软盘文件的命令操作,如UNIX/XENIX系统下的 dosdir, doscat,doscp等命令。

二、 软盘文件的随机存取

  如果想在UNIX/XENIX系统下用随机存取方法使用软盘,必须使用mkfs命令建立文件系统(格式)的软盘,命令格式为:
  #mkfs 〈特别文件名〉 〈总块数〉
  例如在A驱3寸1.44M软盘上建立文件系统格式,则打入命令:
  # mkfs /dev/fd0135 1440 <CR> 则显示:
  lsize=352  (共有352个i结点)
  m/n=1 18 (主设备号为1,次设备号为18)
  在B驱5寸1.2M软盘上建立文件系统格式则为:
  # mkfs /dev/fd196 1200 <CR> 则显示:
  lsize=288 (共有288个i结点)
  m/n=3 500 (主设备号为3,次设备号为500)
  软盘在建立文件系统格式以后,就可以由mount 命令将其作为文件系统进行安装,安装在UNIX/XENIX根文件系统的安装目录上(/mnt),命令格式为:
  #/etc/mount〈特别文件名〉〈安装目录名〉 -r
  mount命令的作用是将指定的特别文件安装到系统的指定目录上,-r参数用于限定安装的文件系统是只读的。
  例如,我们将文件系统格式的3寸软盘使用A驱安装在系统的/mnt上,则打入命令:
  #/etc/mount /dev/fd0135ds18 /mnt
  当然,我们不能安装一个不是文件系统格式的软盘,如tar格式软盘,否则安装失败,并显示:
  mount:bad super block
  mount:error 0
  具有文件系统格式的软盘一旦安装好,其安装目录(/mnt)就可以像根文件系统的其它子目录一样使用。对/mnt的操作即是对软盘的操作,我们可以使用随机存取方法的命令存取软盘文件。例如:
  1用命令CP复制一个或多个文件
  # cd /
  # cp boot profile /mnt
  (复制根目录下两个文件boot和 profile到/mnt)
  2用copy命令复制目录文件
  # copy -ro /X1 /mnt
  (复制目录/X1下文件及子目录到/mnt)
  其中:-r参数表明对源目录/X1的子目录也进行复制,否则只复制/X1中的所有文件。
  -o参数表明复制的文件保持源文件的所有者和用户组。
  3使用cpio命令复制当前目录全部文件
  # cd /x2
  # find -print |cpio -pdl /mnt
  (将当前目录/X2下的所有文件复制/mnt)

三、 软盘文件的顺序存取

  如果想对软盘文件进行顺序存取,其格式一定是tar格式,即原来用tar命令存取的盘或用dd命令按记录复制的tar格式软盘。这种tar格式的软盘可以使用tar命令和dd命令进行顺序存取方式的存取。
  1用dd命令进行软盘(全盘)复制
  我们通过把输入文件指定为与某个驱动器所对应的特别文件,把输出文件指定为与另一个驱动器所对应的特别文件,使用dd命令复制软盘。dd命令是逐个记录读入输入文件,然后逐个记录写到输出文件,其命令格式为:
  # dd if=〈输入文件名〉 of=〈输出文件名〉[其它选择项]
  dd命令是按记录(块)读入输入文件,按记录(块)写到输出文件的。其它选择项可定义输入、输出块的大小,读入信息和写入信息时的起始位置。在进行软盘复制时,由if或of选择项指定的文件名可以是字符型I/O设备特别文件,也可以是块型I/O设备特别文件。
  例如:在两个驱动器都是1.2M的联想386机上,UNIX/XENIX系统下可使用dd命令复制1.2M软盘:
  # dd if=/dev/fd096ds15 of=/dev/fd196ds15
  在A驱为5寸、B驱为3寸的DELL 486-66机上,实现(tar格式)5寸盘到3寸盘的复制可打入命令:
  #dd if =/dev/fd096ds15 of=/dev/fd1135ds18
  2可使用tar命令列磁盘文件目录和存取文件
  例1:显示A驱中1.2M软盘目录:
  # tar tvf /dev/fd096
  其中参数t表示列出指定磁盘的文件目录。
  例2:从A驱5寸软盘读入指定文件或全部文件到当前目录(例如/x1)
  # cd /x1
  # taT xvf /dev/fd096
  其中x参数表示从磁盘上读入指定的文件或目录。
  例3:从当前目录把全部文件写入软盘(B驱3寸软盘):
  # tat cvf /dev/fd1135 *
  其中c参数表示建立一个新盘,从盘的起始位置开始写入,tar 命令的写入格式中可使用通配符。读入格式中不能使用通配符。但是,在使用tar命令时不论是列磁盘文件目录还是读写文件,都只能是对tar 格式的磁盘进行,即对原来用 tar命令存取的盘(用dd命令按记录复制的tar格式软盘或用tar命令读写的盘)进行操作,而不能对用mount 命令安装的盘进行操作,否则就要显示出错:
  tar blocksize=20
  tar: directory checksum error (目录检查和错)
  这就是说,用mount 命令安装到系统上使用的软盘不能用tar命令存取,前面已说明tar格式的软盘不能用mount命令安装到系统上使用。这就表明,两种格式(mount命令安装的文件系统格式和tar格式)的软盘是不能混用的,是完全不兼容的。
  所以在UNIX/XENIX系统下使用软盘,应首先区分其存储文件的格式,文件系统格式的软盘必须用mount命令安装,安装以后可以使用各种随机存取方式的命令进行存取。tar格式的软盘文件,不能用mount命令安装(用mount命令安装则安装失败),可以使用dd命令按记录全盘复制或使用tar命令进行顺序存取方式的存取。□

刘辉(哈尔滨 150080 哈尔滨投资高等专科学校)


(http://www.fanqiang.com)
    进入【UNIX论坛

相关文章
 

★  樊强制作 欢迎分享  ★