Linux 用户组管理

1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

[root@localhost ~]# who | cut -d" " -f1 | sort -u
root
(unknown)

cut -d " " :以“空格”为分隔符; -f1 取第一个字段

sort -u :在输出行中去除重复行

[root@localhost ~]# who
(unknown) :0           2018-07-08 13:23 (:0)
root     pts/0        2018-07-08 13:31 (192.168.65.1)

 

2、取出最后登陆到当前系统的用户的相关信息

[root@localhost ~]# who | cut -d' ' -f1 | tail -1 | xargs id
uid=0(root) gid=0(root) 组=0(root)

tail -1:查看最后一行

xargs :构造参数列表并运行命令。(将前面命令输出的值作为参数)
 

因为who查看的登陆用户默认是按时间排列的,所以只用显示最后一行。

 

3、取出当前系统上被用户当作其默认shell的最多的那个shell。

[root@localhost ~]# cat /etc/passwd | cut -d : -f 7 | uniq -c | sort -n 
      1 /bin/bash
      1 /bin/bash
      1 /bin/sync
      1 /sbin/halt
      1 /sbin/nologin
      1 /sbin/shutdown
      4 /sbin/nologin
     33 /sbin/nologin
[root@localhost ~]# cat /etc/passwd | cut -d : -f 7 | uniq -c | sort -n | tail -1
     33 /sbin/nologin

 

uniq -c:在每列旁边显示该行重复出现的次数。

 

sort -n:以数值来排序(从小到大)

 

4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。

[root@localhost ~]# cat /etc/passwd | sort -t : -k 3 -n | tail -10 | tr 'a-z&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值