在学习之前先介绍下CGYWIN,这是一个模拟unix命令的软件,对于那些想学unix或linux而有不想装linux系统的人来说是一个不错的选择!
让我们用一个简单的脚本来开始我们的shell之旅!
假如你想查看当前所有登陆unix的用户,你可以用命令who,以下是我登陆unix服务器查看登陆用户的结果:
$ who
root vty0 Mar 17 17:06
ngweb pts/3 Mar 21 09:00 (10.168.137.210)
ngweb pts/4 Mar 21 17:08 (10.168.137.179)
ngweb pts/7 Mar 21 09:29 (10.168.137.112)
oracle pts/9 Mar 21 18:04 (10.168.137.54)
ngweb pts/10 Mar 14 09:36 (10.168.137.210)
ngiweb pts/11 Mar 21 17:12 (10.168.137.243)
oracle pts/12 Mar 21 11:35 (10.168.137.54)
ngiweb pts/14 Mar 21 17:27 (10.168.137.243)
ngiweb pts/15 Mar 21 17:27 (10.168.137.243)
ngweb pts/16 Mar 21 10:43 (10.168.137.198)
ngiweb pts/17 Mar 21 17:38 (10.168.137.243)
ngiweb pts/18 Mar 21 17:42 (10.168.137.243)
ngiweb pts/20 Mar 21 17:42 (10.168.137.243)
ngweb pts/21 Mar 21 18:26 (10.168.137.179)
ngiweb pts/22 Mar 21 18:31 (10.168.137.243)
ngiweb pts/23 Mar 21 15:19 (10.168.137.243)
$
在一个大型的多用户的系统上,上述列表会切换一屏又一屏,你根本就来不及数清有多少个当前用户,不管怎么说,每次做这样的事情是令人非常恼火的!鉴于此,我们先看看wc命令:
wc -l 计算某文本中有多少行
wc -w 计算某文本中有多少个单词
wc -c 计算某文本中有多少个字符
这样我们可以结合who 和wc命令来完成上面令人恼火的事情!
who | wc -l
以下是操作结果
$ who | wc -l
14
$
接下来我们来分析下who | wc -l:
‘|’符号表示一个管道,即符号‘|’在who 和wc 之间创建一个管道,who的输出变成为wc的输入。因而wc的结果就是当前登陆unix系统用户的人数。