2、当作其他命令的参数。/dev/tty文件不仅可以用作终端设备来管理,而且这个文件还可以被用来当作其他命令的参数。因为一个终端就相当于一个文件,为此在一些命令中如tee命令就可以拿这个文件当作参数。Tee命令是一个分流命令,其主要用途就是把一个输入流的一个副本保存到另外一个文件中。有时候这个特性非常有用。如现在系统工程师需要利用who命令来显示Unix系统的当前登录用户。同时希望把这个显示结果保存到一个特定的文件中。如果没有tee这个命令的话,则需要通过两个步骤才能够完成。首先需要利用who命令在当前终端中显示相关的结果。然后再利用who >重定向符号把这个命令的显示结果保存到一个特定的文件中。如果一开始就采用who >进行重定向的话,则在用户终端将不会显示任何信息。因为其直接把结果保存到了一个文件中。而现在系统工程师即希望把命令的结果输出到终端中,同时保存到一个文件中,就需要利用tee命令,如who | tee userinfo.txt。(注意,如果利用了tee命令的话,在可以不再使用重定向符号)。到这里为止没有涉及到/dev/tty这个文件。who | tee userinfo.txt这个命令的显示结果,只会显示当前登录的用户明细,而不会显示当前有多少个用户登录到系统中。可能或许有人回说只要数一下就可以了呀。确实数数的话可以实现,但是计算机不会自己数呀。如果其他脚本程序需要用到当前登录用户的总数而不需要明细,那么该如何处理呢?此时就需要利用/dev/tty文件作为参数了。如可以使用who | tee /dev/tty |wc –l 命令。这个命令可以把当前用户的明细以及总共的用户数量显示出来。以上这个命令其实我们可以分为四个步骤。第一步系统先执行who命令;第二步tee命令把who命令执行对结果保存到/dev/tty文件中;第三步wc命令会统计/dev/tty文件中的行数。由于一个终端对相当于一个文件,故利用wc命令可以统计出当前系统登录用户的数量。第四步再把这个统计的结果显示在终端上。所以说,把/dev/tty文件当作其他命令的一个参数,一个一起组合以实现一些比较复杂的功能。
标签: