1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
首先用who命令列出当前系统上所有登陆用户,然后使用cut命令以空格为分隔符取出第一列,再使用sort排序并去除重复的行
cut 命令: cut [OPTIONS]…[FILE]…
-d delimiter:指明分隔符
-f fileds:指明需要取出的字段
# :第#个字段
#,#,#:离散的字段。如 1,2,3
#-# :连续的多个字段。如:1-3
sort 命令: sort [OPTIONS]…[FILE]…
-f:忽略字符的大小写
-r:逆序
-t delimiter:字段分隔符
-k #:指定字段为标准排序
-n:以数值大小进行排序
-u:排序后去除重复的行
2、取出最后登录到当前系统的用户的相关信息。
使用last命令查询最后登陆系统的用户,此时最后一个登录的用户会显示在第一行,然后是用head取出第一行,cut出第一列的用户名,通过命令引用送给id命令查询用户信息
3、取出当前系统上被用户当作其默认shell的最多的那个shell。
cut取出/etc/passwd中所有shell的类型,sort进行排序,uniq显示每个shell重复的次数,sort按照次数进行大小排序,tail取出最后一行,再cut取出shell
uniq命令:uniq [OPTIONS]…[FILE]…
-c:显示每行重复的次数
-d:仅显示重复的行
-u:仅显示不重复的行
注意:连续且完全相同的方位重复。
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7、显示/var目录下一级子目录或文件的总个数。
wc命令:字符统计
wc [OPTIONS]…[FILE]…
-l lines:统计行数
-w words:统计单词个数
-c character:统计字符个数
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
cat /etc/{fstab,issue} > /tmp/etc.test
10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
用户和组相关的管理命令:
(1)用户创建:useradd
useradd [OPTIONS] LOGIN
-u UID:[UID_MIN,UID_MAX],定义在/etc/login.defs 如果没有指定UID则依次使用最近一次的UID
-g GID:基本组,如果没有指定则使用与用户名相同的组名
-c " " :用户的注释信息
-d /path/to/dir :指定用户的家目录
-s SHELL:指定用户的默认shell,可用的shell列表在/etc/shells
-G GROUP1 GROUP2…:指定用户的附加组,可以有多个,用逗号隔开,组必须事先存在
-D:表示修改用户的默认选项;(修改的是/etc/default/useradd中的选项)
-s:修改用户的默认shell信息
(2)创建组:groupadd
groupadd [options] group
-g GID:指明GID
-r :创建系统组
(3)查看用户的相关ID信息:id
id [option]…[user]
-u:UID
-g:Gid
-G:Groups
-n:Name
(4)用户属性修改:usermod
usermod [options] LOGIN
-u UID:新UID
-g GID:新GID
-G GROUP1,GROUP2…:新附加组,原来的附加组将会被覆盖,若要保留原来的,则要同时使用-a选项,表示追加。
-s SHELL:新的默认SHELL
-c "注释信息":新的注释信息
-d HOME:新的家目录,原有的家目录中的文件不会同时移动到新目录,若要移动,则要同时使用-m选项
-l login_name:新的名字
-L:lock指定用户
-U:unlock指定用户
-e YYYY-MM-DD:指定用户账号的过期日期
-f INACTIVE:指定非活动期限
(5)给用户添加密码:passwd
管理员用户可以修改任何用户的密码,普通用户只能修改自己的密码;
passwd [options] UserName
-l:锁定指定用户
-u:解锁指定用户
-n mindays:指定最短使用期限
-x maxdays: 最大使用期限
-w warn days:提前多少天开始警告
-i inactive-days:非活动期限
–stdin :从标准输入接受用户密码:如: echo "passwd" | passwd –stdin USERNAME
(6)用户删除 :userdel
userdel [option] LOGIN
-r:删除用户家目录
(7)组属性修改:groupmod
groupmod [options] GROUP
-n group_name:新名字
-g GID:新的GID
(8)删除组:groupdel
group [options] group
(9)组密码:组密码的作用为用户切换基本组,gpasswd
gpasswd [options] group
-a user:将user添加至指定组中
-d user:将user从指定组中删除
-A userlist:设置有组管理权限的用户列表
(10)临时切换基本组:newgrp
如果用户本不属于此组,则需要组的密码:
(1)、创建组distro,其GID为2016;
groupadd -g 2016 distro
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
useradd -u 1005 -g distro mandriva
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
useradd -u 1100 -d /home/linux mageia
(4)、给用户mageia添加密码,密码为mageedu;
echo "mageedu" | passwd –stdin mageia
(5)、删除mandriva,但保留其家目录;
userdel mandriva
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默认shell为/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)、为用户slackware新增附加组admins;
usermod -aG admins slackware
原创文章,作者:M36-Masuri,如若转载,请注明出处:http://www.178linux.com/66837