(1)查看网上用户信息
使用finger命令可以显示当前正在使用Unix系统的所有用户信息,它的命令格式如下:
finger [用户名][@主机域名或ip地址]
如:
finger //显示当前正在使用Unix系统的所有用户信息
finger anray@198.4.30.25 //查看主机198.4.30.26上用户anray的信息
此外,常用的显示当前系统登陆用户信息的命令还有:
who //可查看每个登陆用户的IP地址
w //可查看每个登陆用户的当前行为
who am i //查看使用者自己的信息
古希腊克里特岛迷宫里有一个牛头人身的怪物米诺陶洛斯,如果不是美女公主阿里阿德涅赠送给英雄忒修斯一把魔剑,英勇的忒修斯还真奈何不了这牛头人身的怪物。
vi编辑器就是Unix系统赋予我们的魔剑,它是一款强有力的文本文件编辑工具。对初学者而言,常因其特殊的使用方法,而不得径门而入;对已经在使用 vi 的操作者来说,也常因对 vi 的不够熟悉与了解,而无法发挥出 vi 强大的编辑能力。以下将介绍vi 的基本使用方法。
vi 提供了两种操作模式:文本输入模式和命令模式,前者用于文本输入,后者用于输入控制指令。要启动vi进行文本操作,用户可在Shell提示符后输入如下命令:
vi 文件名
如果该名称的文件不存在,则系统会自动创建该文件。用户进入vi编辑器后,便自动处于命令模式,此时键入的任何字符皆被视为指令。此模式下可对文本进行删除、替换、拷贝、移动等操作,而对文本进行操作的前提是输入文本,那就先让我们进入输入模式吧。文本输入模式的进入,有以下的指令可供使用:
a
将在光标所在位置之后插入文本
A
将在光标所在行末插入文本
i
将在光标所在位置之前插入文本
I
将在光标所在行的第一个非空字符前插入文本
o
将在光标所在行的下一行开始插入文本
O
将在光标所在行的上一行开始插入文本
k
上移一个字符
j
下移一个字符
h
左移一个字符
l
右移一个字符
行号G
光标移到该指点行(如1G表示光标移到第一行)
G
光标移到文件结尾
接着就可以使用下述指令进行删除或替换操作了:
x
删除光标所在字符
X
删除光标所在的前一字符
s
删除光标所在的字符,并进入输入模式
dd
删除光标所在行
nd
删除编辑器第n行的所有字符(n代表具体数字,下同)
ndd
删除从光标所在行开始往下的n行
:n,md
删除从指定的n到m行之间的所有字符(如::5,10d 将会删除编辑器中从第5行开始至第10行的内容)
D
删除光标所在处到行尾的字符
r
用跟在此指令之后的字符替换光标所在的字符(如:ra 是以 a 替换光标所在的字符)
C
替换从光标到行尾的内容
cc
替换整行的内容
2、别名的设置
可以使用alias命令来为一个命令创建一个别名,它的命令格式如下:
alias alias-name value
比如,熟悉的DOS的用户可能会一下子不习惯ls这个命令,那么就可以使用如下的方法来为ls命令取个别名:
alias dir ls
此外,还可以用一个别名来代替一个命令及它的参数,这样就可以简化常用的操作命令以便使用。不过这时需要用单引号将命令及其参数括起来,如:
alias dir ‘ls –l’
若想查看已定义的所有别名的别名表,则直接使用alias命令即可。当想删除某个别名时,则可使用unalias命令,格式如下:
unalias alias-name
3、命令历史设置
在Unix系统中,history程序会自动保留用户最近所使用过的命令。历史表中的命令从1开始编号,上限为所设置的保留个数,默认值是500。我们可以重设此保留个数,如:
set history=30
上述操作设定命令历史表长度为 30,即可记载已执行过的30个命令,可通过使用history命令查看此30个命令记录。使用“!n”命令可以执行历史表中所记录的第n个命令,“!!”则是重复执行前一个命令。
九、Shell脚本编程
在执行某个具体任务的时候,有时可能需要把几个Unix命令结合起来一起使用。如果这样的操作较为频繁,则可以考虑将这些命令放入一个文件中。那么每次使用时只需执行此文件即可,这样的文件就被称为脚本文件。
我们先来看一个简单的例子。首先使用vi创建一个名为lsjava的文件,在文件中输入如下内容:
pwd
cal
date
ls *.java
保存退出。由于默认情况下vi编辑器创建的文件仅有读和写权限,因此需要使用chmod命令来使脚本文件具备可执行权限,使用命令如下:
chmod u+x lsjava
在shell提示符后输入脚本文件名并回车,将可执行此脚本文件中的命令了,即先显示当前所处的工作目录,再显示出日历和日期,最后列表显示出当前目录下所有以“.java”为后缀名的文件。这样,脚本文件名就变成了一个新的shell命令。使用此种方法,我们就可以设计并创建自己的命令了。要补充说明的是,如果是在bash中,我们就无需更改脚本文件的权限,使用如下的命令格式即可执行此脚本文件:
. lsjava //此处的点号“.”表示执行
像其它的Unix命令一样,在命令行中调用一个脚本时,也可以在此脚本名后输入参数。这样在脚本文件中就可以接收来自命令行中的参数信息,并将此作为脚本文件中某命令的参数。命令行中的参数通过使用“$”操作符和参数序号来引用,参数以“1”开始顺续引用,第一个参数用$1来引用,第二个参数用$2来引用,以此类推。每次还可以引用多个参数,使用操作符“$*”即可表示引用所有的参数。此外,在脚本文件中,除了可以使用一系列的Unix系统命令外,还可以使用变量、算术表达式、条件选择、循环控制等来共同完成相应的任务。脚本文件功能强大,在处理较大的任务或需要循环执行某一个命令时可节省大量的时间。由于此部分涉及到编码,且内容较多,足可另写一本书,且又是非Unix初级使用者所必须掌握的知识,故在此不再赘述,请感兴趣的读者查阅相关的书籍与资料。