1、列出当前系统上所有已登录的用户名,注意:同一用户登陆多次,则只显示一次即可。
示例:[root@localhost ~]# who | cut -d : -f1 | sort -u
root pts/0 2018-03-27 23:46
解释:使用who命令列出列出当前登录的所有用户,使用cut命令取出用户名,使用sort -u命令去重
2、取出最后登录到当前系统的用户的相关信息。
示例:[root@localhost ~]# who | head -1
root pts/0
解释:使用who命令列出列出当前登录的所有用户,使用 head命令取出最后登录用户名相关信息。
3、取出当前系统上被用户当作默认shell的最多的那个shell。
示例:[root@localhost ~]# cut -d : -f7 /etc/passwd | uniq -c | sort -n | tail -1
29 /sbin/nologin
解释:使用cut命令列出取出passwd上第7列所有使用的shell名称,使用uniq –c统计重复次数,sort -n按数值排序,tail -1取最大值
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
示例:[root@localhost ~]# sort -rn -t: -k3 /etc/passwd -n | tail -10 | tr “a-z” “A-Z” >/tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt
UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN
MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
解释:使用sort命令将passwd文件按第三个字段排序,用tail取出最后十行,使用tr 命令转换大小写,用>号重定向保存到maxusers.txt文件中。
sort参数:-r:以相反的顺序来排序; -n:依照数值的大小排序;-k来指定列数;
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
示例:[root@localhost ~]# ifconfig eth0 | grep ‘\<inet\>’ | cut -d : -f2
172.16.15.10 Bcast
解释:执行ifconfig命令,管道至对结果进行正规则表达式匹配,然后用cut命令切分,得到结果的第二列的ip地址。
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
示例:[root@localhost ~]# ls /etc/*.conf | tr “a-z” “A-Z” >/tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf
/ETC/ANT.CONF
/ETC/ASOUND.CONF
解释:用ls命令列出/etc下所有.conf的文件,用tr命令转换成大写,用>号把结果重定向到etc.conf文件。
7、显示/var目录下一级子目录或文件的总个数。
示例:[root@localhost ~]# ls /var | wc -l
21
解释:用ls命令列出/var下一级子目录,wc命令统计个数。
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
示例:[root@localhost ~]# sort -t : -k3 -n /etc/group | head -10 | cut -d : -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
解释:/etc/group用sort命令t为栏位分隔符,k3第三栏n依照数值的大小排序,用head命令取出前10行,用cut命令d为字段的分隔符,f1显示第一字段。
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
示例:[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
[root@localhost ~]# cat /tmp/etc.test
# /etc/fstab
# Created by anaconda on Thu Mar 22 22:29:16 2018
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=7eee4732-a8d7-43ba-9f7d-8125ab037003 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 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
CentOS release 6.6 (Final)
Kernel \r on an \m
解释:用cat命令获取/etc/fstab和/etc/issue文件的内容并重定向到/tmp/etc.test文件中。
10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
用户和组管理类相关命令:
(1)创建用户命令:useradd
格式:useradd [选项] 登录名
-u, –uid UID:指定UID;
-g, –gid GROUP:指定基本组ID,此组得事先存在;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
-c, –comment COMMENT:指明注释信息;
-d, –home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, –shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r, –system:创建系统用户;
注意:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd -D:显示创建用户的默认配置;
useradd -D 选项: 修改默认选项的值;
修改的结果保存于/etc/default/useradd文件中;
(2) 修改用户命令:usermod
格式:usermod [选项] 登录名
(3)删除用户命令:userdel
格式:userdel [选项] 登录名
(4)创建组命令:groupadd
格式: groupadd [选项] group_name
(5)修改组属性命令:groupmod
格式: groupmod [选项] GROUP
-g GID:修改GID;
(6)删除组命令:groupdel
格式:groupdel [选项] GROUP
(1)、创建组distro,其GID为2016;
示例:[root@localhost ~]# groupadd -g 2016 distro
[root@localhost ~]# tail -1 /etc/group
distro:x:2016:
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
示例:[root@localhost ~]# useradd mandriva -u 1005 -g distro
[root@localhost ~]# tail -1 /etc/passwd
mandriva:x:1005:2016::/home/mandriva:/bin/bash
(3)创建用户mageia,其ID号为1100,家目录为/home/linux;
示例:[root@localhost ~]# useradd mageia -u 1100 -d /home/linux
[root@localhost ~]# tail -1 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash
(4)、给用户mageia添加密码,密码为mageedu;
示例:[root@localhost ~]# passwd mageia
更改用户 mageia 的密码 。
新的 密码:
(5)删除mandriva,但保留其家目录;
示例:[root@localhost ~]# userdel mandriva
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
示例:[root@localhost ~]# groupadd peguin
[root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
[root@localhost ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/bash
(7)、修改slackware的默认shell为/bin/tcsh;
示例:[root@localhost ~]# chsh slackware
Changing shell for slackware.
New shell [/bin/bash]: /bin/tcsh
Shell changed.
[root@localhost ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh
(8)、为用户slackware新增附加组admins;
示例:[root@localhost ~]# groupadd admins
[root@localhost ~]# usermod -G admins slackware
[root@localhost ~]# tail -1 /etc/group
admins:x:2018:slackware
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93340
评论列表(1条)
作业是认真思考过的。