SCOUNIX下磁盘设备的应用管理

发表于:2007-07-04来源:作者:点击数: 标签:
UNIX下的文件系统与DOS完全不同,它对于磁盘文件的操作应用非常复杂,常常以长而难 记的命令行为代价,不便于使用。在磁盘管理中,如要格式化文件系统、构造文件系统、挂装 文件系统、下装文件系统、显示软盘系统参数、将硬盘数据备份至软盘、将软盘信息恢复至

  UNIX下的文件系统与DOS完全不同,它对于磁盘文件的操作应用非常复杂,常常以长而难 记的命令行为代价,不便于使用。在磁盘管理中,如要格式化文件系统、构造文件系统、挂装 文件系统、下装文件系统、显示软盘系统参数、将硬盘数据备份至软盘、将软盘信息恢复至 硬盘,这都是系统管理员常做的。为使用方便,笔者书写了一个shell程序,将各项命令都纳入 菜单,从而避免了复杂命令行的麻烦。程序在SCO UNIX系统下调试通过。
  
  ¥cat menu,sh<Enter> /*显示菜单程序MENU,SH清单*/
  
  ;
  
  #程序名;MENU,SH
  
  # SCO UNIX环境下的软盘管理工具
  
  #
  
  PATH=/bin;/usr/bin;
  
  true=0
  
  while test ¥ true=0
  
  do
  
  clear
  
  echo "\n\n\n\n\n"
  
  echo"
  
  ** SCO UNIX环境下的软盘管理工具**
  
  1.软盘格式化(format)
  
  2.构造文件系统(mkfs)
  
  3.安装软盘(mount)
  
  4.拆卸软盘(umount)
  
  5.显示软盘信息
  
  6.将硬盘信息拷贝至软盘
  
  7.将软盘信息拷贝至硬盘
  
  0.退出
  
  etho" 请选择(0,1—7):\c"
  
  read choice
  
  clear
  
  if test ¥choice -eq 0
  
  then clear
  
  echo"\n\n\n\n\n"
  
  exit 0
  
  fi
  
  getyn() /*shell函数*/
  
  {
  
  while echo"¥*继续吗!请回答(y/n)?\c"
  
  do read yn rest
  
  case ¥yn in
  
  [yY])return 0;;
  
  [nN])return 1;;
  
  *)echo"******请回答(y或n)!!!";;
  
  esac
  
  done
  
  }
  
  fy() /*shell函数*/
  
  {
  
  echo请输入你的软盘规格:\(0-代表A驱动器\)\(1-代表B驱动器\);"\c"
  
  read floppy
  
  if test ¥ floppy -eq 0
  
  then DEVICE=/dev/rfd0135ds18
  
  FD=A
  
  else DEVICE=/dev/rfd196ds15
  
  FD=B
  
  fi
  
  }
  
  case ¥ choice in
  
  1) fy
  
  clear
  
  while
  
  getyn
  
  do
  
  format ¥ DEVICE
  
  done;;
  
  2)echo 您的软盘规格是\(0-代表1.44MB\)\(1-代表1.2MB\);"\c"
  
  read floppy
  
  if test ¥ floppy-eq 0
  
  then /etc/mkfs/dev/rfd0135ds18 1440
  
  echo"******软盘文件系统构造成功!!"
  
  sleep 3
  
  else /etc/mkfs/dev/rfd196ds15 1200
  
  echo"******软盘文件系统构造成功!!"
  
  sleep 3
  
  fi;;
  
  3) echo 您的软盘规格是\(0-代表1.44MB\)\(1-代表1.2MB\);"\c"
  
  read floppy
  
  if test ¥ floppy -eq 0
  
  then echo "软盘已成功地挂接在/usr/jn下,即可将子目录/usr/jn当作软盘进行操作 。"
  
  echo"用户注意:软盘安装后,在没有拆卸之前,不要将软盘取出!"
  
  sleep 3
  
  /etc/mount/dev/fd0/usr/jn
  
  /etc/mount
  
  sleep 3
  
  else echo"软盘已成功地挂接在/usr/jn下,即可将子目录/usr/jn当作软盘进行操作 。"
  
  echo"用户注意:软盘安装后,在没有拆卸之前,不要将软盘取出!"
  
  sleep 3
  
  /etc/mount /dev/fd1/usr/jn
  
  /etc/mount
  
  sleep 3
  
  fi ;;
  
  4)echo 请输入你的软盘规格:\(0-代表A驱动器\)\(1-代表B驱动器\):"\c"
  
  read floppy
  
  if test ¥ floppy -eq 0
  
  then DEVICE=/dev/fd0
  
  FD=A
  
  else DEVICE=/dev/fd1
  
  FD=B
  
  fi
  
  /etc/umount ¥ DEVICE
  
  if test ¥!-eq 0
  
  then echo"******软盘已经拆卸!!你现在可以取出软盘!"
  
  sleep 3
  
  fi;;
  
  5)fy
  
  echo 请将软盘插入¥FD驱动器中!并关好门!……
  
  echo
  
  sleep 2
  
  tar tvf ¥DEVICE
  
  sleep 5;;
  
  6)while getyn
  
  do
  
  clear
  
  echo 现在的工作路径是:'pwd'
  
  echo 输入待拷贝的路径和文件名\(如:\/usr\/bd1996\):"\c"
  
  read file
  
  fy
  
  echo 正在拷贝,请稍候……
  
  tar uvf ¥DEVICE ¥file
  
  done;;
  
  7)while getyn
  
  do
  
  echo " 用户注意:从软盘中读入指定的文件时,必须一个文件一个文件地"
  
  echo "指定,不能使用通配符!!!"
  
  fy
  
  echo 请将软盘插入 ¥FD驱动器中!
  
  tar tvf ¥DEVICE
  
  echo 请输入软盘中待读入的文件名:"\c"
  
  read file
  
  echo 正在读盘,请稍候……
  
  tar xvf ¥DEVICE ¥file
  
  echo" ****拷贝完成!!!"
  
  sleep 2
  
  clear
  
  done;;
  
  esac
  
  done
  
  ¥sh-v menu.sh<Enter> /*对shell程序的全部执行过程进行跟踪*/
  
  ¥chmod u+x menu.sh<Enter>

原文转自:http://www.ltesting.net