用户和组管理命令及文件查看处理工具

第三周作业

1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
who | cut -d” ” -f1 | sort | uniq -c | sort

who命令查看当前系统登录用户信息,cut取第一段信息,sort排序,uniq统计重复行,sort再次排序。

2、取出最后登录到当前系统的用户的相关信息。
who | tail -1 

实在不知道怎么查看,cut取值取不到LOGIN的大小比较,who默认按登录时间排序,所以也就这样写了,请大神们指点啊!

3、取出当前系统上被用户当作其默认shell的最多的那个shell。
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n -r | head -1

passwd文件下第7个字段为默认shell,排序统计重复行,按逆序再次排序头一个就是最多的,也可按顺序排,那就是tail -1。

4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers.txt。
sort -t: -k3 -n /etc/passwd | tail | tr [a-z] [A-Z] > /tmp/maxusers.ttrxt

sort可直接指定分隔符进行指定字段排序,而后tail后10行,tr转换字符大小写,输出重定向文本文件。

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
ifconfig | grep inet | xargs -n2 | cut -d” ” -f2 | head -1

这个有群里同学帮忙,用到个新命令xargs,将输入数据流空白行转换为空白字符,大概就是这个意思,cut以空白字符分割,取IP地址。

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr [a-z] [A-Z] > /tmp/etc.conf

这个查看了文档,实在找不到怎么取出文件的文件名,basename只是针对的是给出的文件名路径,而匹配到的文件不知如何取出,请大神们帮忙啊!

7、显示/var目录下一级子目录或者文件的总个数。
ls /var | wc -l

貌似写的也不符合题目要求,请指教!

8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
sort -t: -k3 -n /etc/group | head | cut -d: -f1

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
cat /etc/fstab >> /etc/issue | cp /etc/issue /tmp/etc.test

文件合并只想到了cat >>,输出重定向,也请大神们指点!按题目要求意思走!

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

useradd,userdel,usermod,groupadd,groupdel,groupmod,passwd。

(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;
groupadd peguin 先创建组

useradd -u 2002 -g distro -G peguin slackware

(7)、修改slackware的默认shell为/bin/tcsh;
usermod -s /bin/tcsh slackware

(8)、为用户slackware新增附加组admins。
usermod -a -G admins slackware 添加附加组,追加新组需要-a配合,而且得在-G前面,不加-a为替换附加组,以实验证明,我用的是CentOS 7。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99637

(1)
圣殿小超圣殿小超
上一篇 2018-05-28 00:29
下一篇 2018-05-28 08:39

相关推荐

  • 一些练习(4)

    一些练习(4) 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 复制/etc/skel目录为/home/tuser1 改权限 2、编辑/etc/group文件,添加组hadoop。 vim直接添加hadoop组 3、手动编辑/etc/passwd文件新增一行,添加用户ha…

    2018-07-16
  • 虚拟机

    虚拟机安装

    2018-04-01
  • shell脚本:判断,循环及数组切片

    条件判断:case语句case 变量引用 inPAT1);;PAT2);;…*)默认分支;;esaccase支持glob风格的通配符:*: 任意长度任意字符?: 任意单个字符[]:指定范围内的任意单个字符a|b: a或babc|efg : abc或efg 循环:while 的特殊用法:while read LINE;dofile=/path/to…

    Linux笔记 2018-05-15
  • vim的使用方法

    从命令模式到插入模式的几种方法 i 光标不移动 I 光标移动到光标所在行首 a 光标往后移动一个字符 A 光标移动到光标所在行尾 o 光标所在行下新增一行 O 光标所在行上新增一行 扩展模式: :q 退出 :q! 强制退出,丢弃做出的修改 :wq 保存退出 :x 保存退出 :wq! 对只读文件强行修改保存 :r file 把文件内容读入到当前文件中 :w …

    Linux笔记 2018-08-05
  • 实验:正向主DNS实现 实验:反向解析DNS 实验:从DNS服务器实现

    实验:正向主DNS实现实验:反向解析DNS 实验:从DNS服务器实现 在主服务器vim /etc/named.confallow-transfer { slaveip;}; 加此行从服务器vim /etc/named.confallow-transfer { none;}; 加此行 vim /etc/named.rfc1912.zoneszone &#822…

    2018-06-01
  • 第五天作业

    shell 脚本编写[xhm@localhost ~]$ cat test.sh#!/bin/bash XXXXecho “welcome to beijing”ls -d /etc/[pP]*echo “hell -etss”ls -d /var/* | tr ‘a-z’ &#8216…

    Linux笔记 2018-05-27

评论列表(2条)

  • 圣殿小超
    圣殿小超 2018-05-28 02:59

    用户和组管理命令没有时间详述,改日补上!

  • 马哥教育
    马哥教育 2018-06-13 07:34

    最后登陆的用户可以用last 命令里面取
    建议命令都格式化一下。把命令执行结果也贴出来。