#whoami

显示登录到当前系统的用户,可以查看自己是以哪个用户登录的。

#who [OPTION]

显示当前系统中当前登陆的用户以及登陆的终端。

显示格式:

用户 登陆终端 时间 注释


[OPTION]

-r 显示当前的运行级别和上一次运行级别。

-h 显示显示的格式。


特别注意:使用su命令切换用户,不等于用户的登陆,用who查看不到。


#w

显示当前登陆的账号并显示当前登录用户的操作。比who命令更详细。



#last [OPTION]

显示/var/log/wtmp的内容,显示登陆信息、登陆地址、及系统重启历史。

[OPTION]

-n NUM 显示最近NUM次的相关信息。


#lastb [OPTION]

显示/var/log/btmp的内容,显示用户错误的登陆尝试信息。

[OPTION]

-n NUM 显示最近NUM次的相关信息。


#lastlog [OPTION]

显示当前系统每个用户上次登陆系统的时间。

[OPTION]

-u USERNAME 指定显示用户名为USERNAME的用户。

#basename [OPTION] DIR

显示一个路径的基名.

[OPTION]


例如:

#basename /etc/abc/me

me


#basename $0

$0为特殊变量,执行脚本是的脚本路径及名称。



#mail [OPTION]

打开用户自己的邮箱。

/home/USERANME/mbox

[OPTION]

-s TITLE USERNAME 



例如:

#mail -s "how are you?" root << "this is a test mail"


#echo "this is a test mail" | mail -s "how are you" root


#hostname [OPTION] [HOSTNAME]

显示系统的主机名。


例如:

写一个脚本:

如果当前主机的主机名为空。或者为(none),或者是为localhost,就将其改为test

#[-z `hostname` ]||[`hostname` == '(none)' -o `hostname` == 'localhost']&& hostname test


RANDOM:

随机数生成器,生成0-32768之间的数。


例如:

写一个脚本,利用RANDAM生成10个随机数,并找出其中的最大值和最小值。

#!/bin/bash

declare -i MAX=0

declare -i MIN=0


for I in {1..10};do

MYRAN=$RANDOM

[$I -eq 1]&& MIN=$MYEAND

if [$I -le 9];then

echo -n "$MYRAN"

else

echo "$MYRAN"

fi

[$MYRAN -gt $MAX] && MAX=$MYRAN

[$MYRAN -lt $MIN] && MIN=$MYRAN

done

echo $MAX,$MIN


随机数生成器:

熵池:随时保留有当前系统上的随机数。某些硬件的中断请求的时间间隔作为随机数。敲键盘的时间间隔等。


/dev/random:会阻塞用户的进程,因为需要硬件的时间。


/dev/urandom:不会阻塞用户的进程。通过软件的方式来生成。





linux终端:

console:控制台。

pty:物理终端。通过VGA设备连接和输出。

ttyNUM:虚拟终端。通常是附加在某个物理控制台,结合软件实现。

ttysNUM:串行终端。

pts/NUM;伪终端。