第三周

作业

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

相关推荐

  • 文件查找与压缩-2

    1、tar [OPTION]… (1) 创建归档(打包而非压缩) 其中-c是创建备份,-f是指定创建备份成的文件即是/PATH/TO/SOMEFILE.tar #tar -c -f /PATH/TO/SOMEFILE.tar  FILE… #tar cf / PATH/TO/SOMEFILE.tar FILE… …

    Linux干货 2016-08-18
  • yum命令用法及源码的编译

     一:yum 何为yum? yum是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,是up2date 的替代工具。 1.命令格式:     yum [options] [command] [package …] 2.yum客户端配置文件: 公共配置文件:/etc/yum.conf   &…

    Linux干货 2017-08-19
  • Zabbix基于Proxy分布式部署实现Web监控

    前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能。但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具有Cacti、Nagios(Icinga)、Zabb…

    Linux干货 2015-07-13
  • linux 下的文件压缩与解压

    文件压缩 压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 目的:时间换空间,cpu时间–>空间 压缩文件工具:    compress|uncompress 压缩后的文件.z    gzip|gunzip  …

    Linux干货 2016-08-21
  • shell脚本编程初步–吐血整理

    shell脚本编程 编程基础 程序: 程序的构成:指令 + 数据 程序的编程风格:     过程式:以指令为中心,数据服务于指令     对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 shell,perl,python语言均为高级编程语言 编程的逻辑处理方式: &n…

    Linux干货 2016-08-18
  • Linux发行版、发行版联系与区别

    参考这篇文章<2016年最佳Linux发行版排行榜> http://mt.sohu.com/20160128/n436204298.shtml #1 最好的回归发行版:OpenSUSE OpenSUSE背后的SUSE公司是最古老的Linux企业,成立于Linus Torvalds放出Linux的一年之后。它其实早于Red Hat诞生,同时也是社区…

    Linux干货 2016-08-15

评论列表(1条)

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

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