马哥教育网络班20期+第3周课程练习

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

$ who |cut -d" " -f1 |uniq

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

$ last |head -1

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

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

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

$  sort -t":" -k3 -n /etc/passwd | tail -10 | tr [[:lower:]] [[:upper:]] >/tmp/maxusers.txt

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

$ ifconfig | cut -d" " -f12 |head -2 |tail -1 |cut -d":" -f2
$ ifconfig | egrep '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' -o |head -1

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

# find /etc/ -name "*.conf" |tr [[:lower:]] [[:upper:]] >/tmp/etc.conf

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

$  ll /var | grep -v "total"  |wc -l

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

# sort -t":" -k3 /etc/group -n |cut -d":" -f1 |head -10

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

$ cat /etc/{fstab,issue} >/tmp/etc.txt

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

   (1)、创建组distro,其GID为2016;

# groupadd -g2016 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;

   
# useradd -u 2002 -g distro -G "peguin" slackware

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

   
# chsh -s /bin/tcsh slackware

   (8)、为用户slackware新增附加组admins;

   
# usermod -a -G admins slackware

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

   
# echo "slackware" |passwd -n3 -x180 -w3 slackware

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

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

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

  
# useradd -s /sbin/nologin mysql

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

   
# echo "openstack" |passwd --stdin openstack

原创文章,作者:Net20_天意,如若转载,请注明出处:http://www.178linux.com/18253

(0)
Net20_天意Net20_天意
上一篇 2016-06-23 11:07
下一篇 2016-06-23 11:07

相关推荐

  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

    在 Linux 下,任意一个命令执行结束之后,bash都会返回0-255之间的数值以表示命令执行成功与否;其返回值保存于bash的特殊变量$?中 [root@yinwei tmp]# uptime 15:13:27 up 18 min, 1 user, load average: 0.07, 0.03, 0.05 [root@yinwei tmp]# ech…

    Linux笔记 2018-05-18
  • GRUB管理

    对于运维人员来说,想要熟练掌握linux,那么久要对linux的启动流程有一个详细的了解,而今天我们就一起来学习一下linux启动中最重要的一个阶段——GRUB引导阶段。 Linux启动流程 grup: GRand Unified Bootloader  由上图可知,grub属于系统启动过程中一个必须的阶段。而这个阶段又分为了三个小的阶段,分别是s…

    2017-09-02
  • Week 1 Linux Intro

    I.  Linux的各种发行版 All Kinds of Linux     在Linux诞生的20多年里,Linux衍变出了许许多多的版本,每个都有自己的名字,但它们的本质和它们的哲学观还是一样的。下面是从外网上扒下来的一张Linux进化图,跨度一直到了2016年。    &n…

    Linux干货 2016-06-26
  • CentOS程序包管理

    对于Linux系统而言,其能执行的程序为二进制格式,而对于程序开发者而言,直接利用二进制开发程序是不太现实的,所以一般都是利用高级语言来进行软件开发,其程序也即称为源代码;那么我们在对一个程序进行安装、升级、卸载、 查询、校验等操作时,需要对每个源代码进行编译成为二进制程序,那么显然是不太现实的。所以在各Linux发行版中一般都带有程序包管理器。 所谓程序包…

    Linux干货 2016-08-25
  • grep命令

    alias命令 直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。 例一:列出当前系统中所有已经定义的命令别名。 [root@localhost ~]# alias alias cp=’cp -i’ alias egrep=’egrep –color=auto’ alias fgrep=’fgrep –color=auto’ alias …

    Linux干货 2016-01-09

评论列表(2条)

  • 马哥教育
    马哥教育 2016-06-23 12:55

    写的真棒,排版也非常好,有的题目会不会有多种思路那,研究一下,加油

    • Net20_天意
      Net20_天意 2016-06-23 16:01

      @马哥教育嗯嗯,谢谢老师提点,也看了其他同学的练习,真的是每个人的思路差异很大,自己也应该再深入考虑一下