大家都知道,Linux系统中的账户信息都存放在/etc/passwd这个文件中,通过查看这个文件我们就可以了解到系统内每个账号的详细信息。今天做实验,建立了很多账号,手工挨个删除真的很慢,于是就用前段时间学习的awk命令删除了指定范围的账号,方便快捷。命令我是这样写的:
这行命令中,我删除了/etc/passwd中第22至28行的账号,连带用户目录一起删除。看着效率还行,于是我就拓展了一下,删除指定行的账号,命令如下:
这一行命令中,我们打印出了需要删除账号名称。接着使用system函数拓展了一下,把账号名称的值赋给变量user。账号删除(选项r:删除主目录和邮件池)命令为:userdel -r,值赋给变量cmd。注意:system()函数括号内的双引号中间是一个空格。于是命令就被拓展成这样了:
如果还需要删除其他指定行的账号,再添加else if语句修改一下NR值就可以了。这两行命令应该还可以拓展到其他地方使用,欢迎有想法的小伙伴提出来。当然,我这个命令语句写得也很次,在各位大大们面前班门弄斧了,欢迎指正。