第三周

作业

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

#!/bin/bash
# Version:
# Description:
# Author: jerry<jerry@whitehouse>
# Date: 2017/12/15
who | cut -d' ' -f1 | sort | uniq

 

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

#!/bin/bash
#
last -a -i | head -n 1
-i: 主机名不反解,以IP显示;
-a: 将主机名显示在最后一行;

 

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

#!/bin/bash
#
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -t' ' -k 1 -r -n | head -n 1 || awk -F: '{array[$NF]++} END {for (i in array) {print i,array[i]}}' /etc/passwd | sort -t' ' -k2 -r | head -n 1

 

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

#!/bin/bash
#
sort -t':' -k3 -n /etc/passwd | tail -n 10 | tr [a-z] [A-Z] | tee /tmp/maxusers.txt

 

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

#!/bin/bash
#
ifconfig | egrep -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.?){4}'

 

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

#!/bin/bash
#
ls -d /etc/*.conf | xargs -I {} basename {} | tr 'a-z' 'A-Z' > /tmp/etc.conf

 

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

#!/bin/bash
#
ls /var | wc -l

 

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

#!/bin/bash
#
sort -t':' -k3 -n /etc/group | head | grep -o '^[^:]\+'

 

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

#!/bin/bash
#
cat /etc/fstab /etc/issue | tee /tmp/etc.test

 

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
组管理:groupadd、groupmod、groupdel
用户管理:useradd、usermod、userdel、passwd、gpasswd、newgrp、change、chsh
其它:id、su、finger、which、where、w、who

(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;

 # groupadd admins
 # usermod -a -G admins slackware

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

(2)
逆神阳逆神阳
上一篇 2017-12-15
下一篇 2017-12-16

相关推荐

  • Jerry首作_linux基础

    一、计算机的组成及其功能 硬件 冯·洛伊曼体系 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是…

    Linux干货 2016-10-25
  • PHP数组实际占用内存大小的分析

    我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存: <?php      &nb…

    系统运维 2015-05-28
  • 通用二进制安装MySQL(MariaDB)

    一、前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所…

    Linux干货 2015-10-15
  • Linux终端和伪终端简述

    本文简述Linux各种类型终端的区别以及如何用命令查看终端类型

    Linux干货 2018-03-26
  • M20-1 8月5日 文本查看工具以及文本处理工

    一、文本查看工具:  cat,tac,rev cat用法:cat [option]..[FILE]..   cat选项:    -E:显示行结束符$    -n:对显示出的每一行进行编号    -A:显示所有控制符    -b:非空行编号   &nb…

    Linux干货 2016-08-08
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2016-11-02

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-07 18:09

    内容上基本上没什么问题~文章中能体现自己的想法会更好~