几个常见的查看登录用户的小命令:


1、w:显示当前登录的用户以及他们在做什么 

[root@xuelinux usr]# w

 10:02:06 up 2 days,  2:06,  1 user,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    10.109.134.247   Mon09    0.00s  0.40s  0.15s w


2、whoami  显示当前登录系统有效的用户名

[root@xuelinux usr]# whoami

root


3、who  显示当前有哪些用户登录

who -H 显示当前用户同时显示首部信息

who -r 显示当前系统运行级别

[root@xuelinux usr]# who -r

         运行级别 3 2016-10-24 07:55


[root@xuelinux usr]# who

root     pts/0        2016-10-24 09:01 (10.109.134.247)

who -H   

[root@xuelinux usr]# who -H

名称   线路       时间           备注  -H 显示当前用户同时显示首部信息

root     pts/0        2016-10-24 09:01 (10.109.134.247)

用户名   终端类型       登录时间   远程登录显示登录IP

终端类型:

        console: 控制台

         pty:物理终端(VGA)  一般pty终端连接只有一个

         tty#:虚拟终端(VAG)  比如虚拟机的本地连接

         ttys#: 串行终端    #表示第几个串行终端连接

          pts/#:伪终端      #表示第几个伪终端登录


 

4、last:显示/var/log/wtmp文件,显示用户登录历史及系统重启历史

       -n #: 显示最近#次的相关信息

5、lastb:/var/log/btmp文件,显示用户错误的登录尝试

       -n #: 显示最近#次的相关信息

6、lastlog: 显示每一个用户最近一次的成功登录信息;

       -u USERNAME: 显示特定用户最近的登录信息

7、basename  显示路径的文件名

   basename /etc/service

[root@xuelinux usr]# basename /etc/service

service

       $0: 执行脚本时的脚本路径及名称     

8、mail:查看当前用户的邮

    mail -s 指定邮件标题

cat /etc/fstab | mail -s "hello,root" root   

把/etc/fstab文件内容当成邮件正文发送给root用户。

[root@xuelinux usr]# cat /etc/fstab | mail -s "hello,root" root 

[root@xuelinux usr]# mail

Heirloom Mail version 12.4 7/29/08.  Type ? for help.

"/var/spool/mail/root": 1 message 1 new

>N  1 root                  Wed Oct 26 14:14  35/1681  "hello,root"

& 1      1表示邮件编号,输入即可查看邮件1的内容

Message  1:

From root@xuelinux.localdomain  Wed Oct 26 14:14:46 2016

Return-Path: <root@xuelinux.localdomain>

X-Original-To: root

ts        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0


&q                    输入q退出邮件系统

Held 1 message in /var/spool/mail/root


9、hostname: 显示主机名

  hostname donggen   表示把当前主机的主机名变更为donggen

[root@xuelinux usr]# hostname

xuelinux

[root@xuelinux usr]# hostname donggen

[root@xuelinux usr]# hostname

donggen


如果当前主机的主机名不是www.magedu.com,就将其改为www.magedu.com

如果当前主机的主机名是localhost,就将其改为www.magedu.com

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

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

 

10、sleep # 休眠#秒


11、生成随机数命令 echo "RANDOM"

$RANDOM: 0-32768  在这范围中的随机数

[root@xuelinux ~]# echo "$RANDOM"

4742

[root@xuelinux ~]# echo "$RANDOM"

19762

[root@xuelinux ~]# echo "$RANDOM"

12593

随机数生成器:熵池 (随机数的存储池,里面的随机数可能会被取空)

/dev/random:

/dev/urandom:

 

命令实例:

1、查看当前系统中,donggen用户是否登录:

who | grep "donggen"

[root@xuelinux usr]# who | grep "donggen"

donggen  pts/1        2016-10-26 11:34 (10.109.134.247)


2、写一个脚本,利用RANDOM生成10个随机数,并找出其中的最大值以及最小值

#!/bin/bash

#program

# 取随机十个数中最大值和最小值

#history donggen  2016-10-26-20:55

declare -i MAX=0

declare -i MIN=0


for I in {1..10}; do

     MYRANDOM=$RANDOM

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

  if [ $I -le 9 ]; then

     echo -n "$MYRANDOM,"

   else

     echo "$MYRANDOM"

  fi

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

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

 done

   echo "$MAX,$MIN"