week3:cut,sort,grep等shell工具的应用及用户,组管理类命令

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

   who | cut -d' ' -f1 | sort –u

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

   who | cut -d' ' -f1 | tail -1 | id

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

   cat /etc/passwd | cut -d: -f7 | uniq -c | sort -n | tail -1

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

   cat /etc/passwd | sort -n -t":" -k3 | tail -10 | tr 'a-z' 'A-Z' >/tmp/maxusers.txt

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

  Centos6:

  ifconfig | grep inet | cut -d ' ' -f12|cut -d: -f2|head -1

  centos7:

  ifconfig | grep inet | cut -d ' ' -f10|head -1

6、列出/etc/目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中

 ls /etc/*.conf|cut -d'/' -f3|tr [a-z] [A-Z]>/tmp/etc.conf

7、显示/var目录下一级子目录或文件的总个数

 ls /var/ | wc -l

8、取出/etc/group文件中第三个字段数值最小的10个组的名字

  cat /etc/group | sort -n -k 3 -t: | head -n 10 | cut -d: -f1

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

  cat /etc/fstab /etc/issue >/tmp/etc.test

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

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;

 

 ~]# passwd mageia

 

5:删除mandriva,但保留其家目录;

 

 ~]# userdel mageia

 

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 -G admins,peguin slackware

 

9:为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;

 

     ~]# echo "123456" | passwd –stdin slackware && chage -m 3 -M 180 -W 3 slackware

 

10:添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

 

  ~]# groupadd nova, clouds

 

   ]# useradd openstack -u 3003 -g clouds -G peguin,nova

 

11:添加系统用户mysql,要求其shell为/sbin/nologin;

 

   ~]# useradd mysql -r -s /sbin/nologin

 

12:使用echo命令,非交互式为openstack添加密码。

 

   ~]# echo "123456" | passwd –stdin openstack

原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/60176

(0)
N24_云淡风轻N24_云淡风轻
上一篇 2016-11-20
下一篇 2016-11-20

相关推荐

  • httpd服务归纳:httpd基本配置(配置文件格式以及常用选项)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件参数格式  配置参数    值       特点:    &nbs…

    Linux干货 2015-05-13
  • sed初步认识

     ◆ sed基础概念 ◆ sed用法 一.sed 基础概念: Stream EDitor (流/行编辑器) sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕…

    2017-03-16
  • bash功能特性三 命令的引用、展开和补全

    一、bash的补全功能     1、命令补全     根据内建命令或外部命令的查找方式,查找以用户指定的字符串开头的命令,如果用户指定的开头字符串能惟一标识某命令,则tab键可以补全此命令,否则,则两次tab链可显示所有以指定字符串开头的命令。   &nbsp…

    Linux干货 2015-04-15
  • 推荐-使用Ansible部署LAMP环境

    使用Ansible部署LAMP环境 使用Ansible部署LAMP环境 前言 实验环境 实验步骤 配置ssh公钥认证 安装ansible 配置host iventory 创建YAML文件 运行Ansible-Playbook并测试 总结 前言 这两天学习了Ansible, 在部署实验环境真的很好用, 今天向大家分享如何使用Ansible部署LAMP环境, 本…

    Linux干货 2016-04-10
  • 本周学习总结

    这周我们学习了很多比较深的命令,有点烧脑,这次我总结一下sed命令。      sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的容送往屏幕。然后读入下行,执行下一个循环。如果…

    2017-08-28
  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03