UNIX下format和tar易用性的一种改进方法
|
|
|
作者:佚名
来源:InterNet 加入时间:2005-4-8 |
接触过UNIX的人都知道,在shell提示符下,用户可以同UNIX核心进行对话。shell的作用类似于早期的DOS下COMMAND.COM程序,但其内容较COMMAND.COM丰富得多。shell还是一种程序设计语言。利用UNIX OS本身的shell对UNIX命令加以改进,就是其中的一种方法。本文以format和tar两条命令为例进行了尝试,发现这种方法简单且实用。
一、格式化命令format的改进 format命令格式:format[-n][-v][-f][-q][device][-i interle ave]
1.改进前的一般使用方法 $format /dev/rfd0135ds18 〈Enter〉 /* 对A盘进行格式化 */ $format /dev/rfd196ds15 〈Enter〉 /* 对B盘进行格式化 */ $format 〈Enter〉/* 对/etc/default/format文件中定义的缺省盘进行格式化 */
2.用Bourne shell对format进行改进 $cat fdformat 〈enter〉 getyn() /* shell函数 */ { while read yn do case $yn in [yY]) return 0;; [nN]) return 1;; *) break;; esac done } fd() /* shell函数 */ { echo 请输入软盘的规格:\(0-代表1.44MB\)\(1-代表1.2MB\): " \c" read floppy if test $floppy -eq 0 then DEVICE=/dev/rfd0135ds18 FD=A else DEVICE=/dev/rfd196ds15 FD=B fi } fd clear echo "请将软盘插入$FD驱动器中,准备好后按回车键!!" while getyn do format $DEVICE echo " ******还需格式化下一张软盘(y/n)? \c" done $ sh -v fdformat 〈Enter〉 /* 对shell程序的全部执行过程进行跟踪 */ $ chmod u+x fdformat 〈Enter〉 /* 将fdformat成为可执行的命令 */ 改进后的fdformat命令的使用易用性强,只需在提示符下键盘输入fdformat并回车,再按提示进行操作即可,而且还能连续进行格式化操作。
二、文件归档命令tar的改进 tar命令格式:tar[key][files] 常用的key值有:x、c、u、t、v、n、f、w等。
1.利用tar显示软盘信息 (1) 改进前的一般使用方法 $ tar tvnf /dev/rfd0135ds18 〈Enter〉 /* 显示A驱动器信息 */ $ tar tvnf /dev/rfd196ds15 〈Enter〉 /* 显示B驱动器信息 */ 通过/ect/default/tar文件的定义,上述命令还可按下列方法进行: $ tar tv6 〈Enter〉 $ tar tv3 〈Enter〉 总之,要使用好tar命令,必需记住x、c、u、t、v、n、f等选择项。 (2)用Bourne shell对tar命令进行改进 $ cat dirfd 〈Enter〉 fd echo "请将软盘插入$FD驱动器中,关好小门!!" sleep 2 clear tar tvnf $DEVICE sleep 5 $ sh -v dirfd 〈Enter〉 $ chmod u+x dirfd 〈Enter〉 改进后,无需再详记选择项。
2.利用tar命令读写磁盘 (1)改进前的一般使用方法 $ pwd 〈Enter〉 /usr/jinning $ tar uvnf /dev/rfd0 unixtext 〈Enter〉 /* 将当前目录下的unixtext写到A驱动器中 */ $ tar xvnf/dev/rfd0 〈Enter〉 /* 将软盘内容读到当前目录 */ (2)用Bourne shell改进 $ cat writefd 〈Enter echo 按回车键后继续…… while getyn do clear echo 现在的工作目录是:′pwd′ echo echo 输入待拷备的路径和文件名\(如:\/usr\/bd1996\):"\c" read file echo fd echo 正在写盘,请稍候…… tar uvnf $DEVICE $file echo echo echo "****拷备结束!继续吗?(y/n)\c" done $ sh -v readfd 〈Enter〉 $ chmod u+x readfd 〈Enter〉 $ cat readfd 〈Enter〉 echo 当前工作目录为:′pwd′ echo echo 将当前工作目录改变为:"\c" read dir cd $dir echo echo 当前目录已改为:`pwd' echo fd echo 正在读盘,请稍候…… tar xvnf $DEVICE echo ****拷贝完成!!! sleep 1 echo $ sh -v writefd 〈Enter〉 $ chmod u+x writefd 〈Enter〉
[文章录入员:nancy] |
|
|
|
|