几个常见的查看登录用户的小命令:
1、w:显示当前登录的用户以及他们在做什么
[[email protected] usr]# w
10:02:06 up 2 days, 2:06, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root pts/0 10.109.134.247 Mon09 0.00s 0.40s 0.15s w
2、whoami 显示当前登录系统有效的用户名
[[email protected] usr]# whoami
root
3、who 显示当前有哪些用户登录
who -H 显示当前用户同时显示首部信息
who -r 显示当前系统运行级别
[[email protected] usr]# who -r
运行级别 3 2016-10-24 07:55
[[email protected] usr]# who
root pts/0 2016-10-24 09:01 (10.109.134.247)
who -H
[[email protected] 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
[[email protected] usr]# basename /etc/service
service
$0: 执行脚本时的脚本路径及名称
8、mail:查看当前用户的邮件
mail -s 指定邮件标题
cat /etc/fstab | mail -s "hello,root" root
把/etc/fstab文件内容当成邮件正文发送给root用户。
[[email protected] usr]# cat /etc/fstab | mail -s "hello,root" root
[[email protected] 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 [email protected] Wed Oct 26 14:14:46 2016
Return-Path: <[email protected]>
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
[[email protected] usr]# hostname
xuelinux
[[email protected] usr]# hostname donggen
[[email protected] 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 在这范围中的随机数
[[email protected] ~]# echo "$RANDOM"
4742
[[email protected] ~]# echo "$RANDOM"
19762
[[email protected] ~]# echo "$RANDOM"
12593
随机数生成器:熵池 (随机数的存储池,里面的随机数可能会被取空)
/dev/random:
/dev/urandom:
命令实例:
1、查看当前系统中,donggen用户是否登录:
who | grep "donggen"
[[email protected] 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"