第三周

作业

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 20:57
下一篇 2017-12-16 14:22

相关推荐

  • Linux系统程序包管理工具-RPM

    一、rpm是什么 RPM 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的。RPM包管理器(RPM)是一个强大的命令行驱动的包管理系统能够安装、卸载、验证、查询和更新计算机软件包。每个软件包包括存档的文件连同包和它的版本信息,描述等。还有一个库API,允…

    Linux干货 2015-11-19
  • ArchSummit 2017全球架构师峰会100余位国内外技术专家北京等你!

    ArchSummit全球架构师峰会是InfoQ中国团队推出的面向高端技术管理者、架构师的技术大会,参会者中超过50%拥有8年以上的工作经验。

    2017-11-13
  • N25第一周博客作业

    本文主要阐述了以下几个知识点: l  计算机的组成及功能; l  介绍各不同发行版的linux及其联系; l  描述linux的哲学思想,及其本人对其个人理解; l  介绍一些linux基本命令及相关选项; l  如何在linux上使用帮助命令; l  罗列出发行版linux上的一些基础目录及其功用…

    Linux干货 2016-11-29
  • FTP部署及简单应用

    文件服务: ftp:应用层,C/S,文件共享;file transfer protocol; nfs,cifs:文件系统接口,网络文件系统;     nfs:network file system     cifs:common …

    Linux干货 2016-10-19
  • Linux不同发行版之间的联系与区别

    Linux发行版有商业版、社区版两类。两者的共同点都是GNU/Linux发行版,区别在于商业版是由商业公司维护,社区版是社区组织维护。由于linux发行版都要遵循GPL协定,任何人都有使用、共享、修改软件源代码的自由,所以商业版的收入主要来自向企业提供支持服务,它的软件基本都是免费的。

    Linux干货 2018-03-04
  • Centos6基于虚拟主机的Lamp配置bbs、Blog、PhpMyAdmin应用程序

    Centos6实现基于虚拟主机的各应用程序搭建: 一、配置三个基于名称的虚拟主机;       虚拟主机一、discuzX       虚拟主机二、wordpress       虚拟主机三…

    Linux干货 2016-10-09

评论列表(1条)

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

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