Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103305712
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-03-30 10:51:31


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>
阅读(488) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~