elecsnail的个人空间 https://bbs.21ic.com/?867354 [收藏] [复制] [RSS]

日志

Shell的五个小应用

已有 1267 次阅读2013-3-13 11:38 |系统分类:兴趣爱好|

 Shell是Linux基础中的基础。用户也许知道类似“ls”、“cp”等这些Shell命令的用法,但是不知尝试过没有Shell其它更为有趣、有用的用法呢?现在给大家展示几个。

    巧用watch命令

    在Linux中, Shell命令“watch”的作用是以全屏方式重复地执行指定的命令。用户可以通过它了解命令的运行情况。例如用户如果想实时观察内存变化,那么可以输入如下命令:
    #watch free

    这样就可以动态地观察内存中各个指标在某段时间内的变化情况了。

    如果用户要观察虚拟内存的变化, 而不想耽误当前终端的操作,那么可以通过打开另外一个终端达到这个目的。命令如下:
    #xterm -e watch -n 1 vmstat &

    这样就会弹出一个终端串口显示有关虚拟内存的情况。

    删除文中空行

    在Linux下,用户如果想删除文件中的空行,一般使用“grep”,这里给出另外的几种方式:

    1.使用“cat”命令,示例如下:
    #cat filename|tr -s ‘\n’

    2.使用“sed”命令,示例如下:
    #sed ‘/^$/d’ filename

    3.使用“awk”工具,示例如下:
    #awk ‘{if($0!=“”)print}’ filename

    捕获终端屏幕

    “script”是一个Shell内建命令。它的作用是为终端会话制作一个副本,把用户的输入/输出信息以文件的形式保存下来。下面以笔者的应用做个例子:





#script  
Script started, file is outputfile  //输出文件是outputfile
#ls -l /
……
#exit  //用exit结束捕获
Script done, file is outputfile  //输出的结果放在outputfile中
#cat outputfile
……

    这里仅举例说明“script”命令的用法,以上是将浏览根目录会话保存在outputfile文件中。

    开启键盘数字灯

    很多Linux用户特别希望在系统启动的时候能自动将小键盘上的数字灯打开。虽然是个小的动作,但是方便了不少。而且对于原来使用Windows的用户来说,感觉Linux在细节上也到位。下面就是一段设置小键盘数字灯的脚本:





INITTY=/dev/tty[1-8]
for tty in $INITTY
do
setleds -D +num < $tty
done

    把它放在/etc/rc.d/rc.local文件中即可。在字符模式下,可以输入下面的命令完成:
    #setleds -D +num/+caps/+scroll

    用户输入检测

    有时需要对用户的输入作一些必要的检测,如限制输入的长度和类型等。下面举例要求用户必须输入六个数字,如果输入有非数字字符,或者长度不等于六个,就提示错误信息。脚本源码如下:





#!/bin/csh
while true
do
echo -n “请输入六个数字:”
read num
lengh=${#num}  #变量lengh存放输入的长度
if [[ $num != [0-9][0-9][0-9][0-9] || $lengh != 6 ]] then
echo “错误! 请重新输入”
continue
else
echo “输入正确!”
exit 0
fi
done

    小结

    Shell的用法还远不止这些,Shell命令、Shell编程都是Linux用户应该掌握的基础知识。用户在熟悉了Shell的基本命令和语法结构后,根据需要、善加运用就可让Shell焕发无穷魅力,为工作和学习带来无限乐趣。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)