马哥教育网络班21期+第三周课程练习

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

who | cut -d" "  -f1 | sort -u

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

cat /etc/passwd | grep "$(last | head -1 | cut -d" " -f1)"

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

cat /etc/passwd | cut -d: -f7 | sort | uniq -c | sort -nr | head -1 | cut -d/ -f2,3

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

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

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

ifconfig | egrep -o '\baddr:([[:digit:]]+\.?){4}' | cut -d: -f2。

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

ls /etc | grep ".*\.conf$" | tr 'a-z' 'A-Z' &> /tmp/etc.conf

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

ls /var | wc -w

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

cat /etc/group | sort -nt: -k3 | head -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 -d /home/linux -u 1100 mageia

   (4)、给用户mageia添加密码,密码为mageedu;

        passwd magia
        Mageedu
        mageedu

   (5)、删除mandriva,但保留其家目录;

        userdel mandriva

   (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组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 -a slackware

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

        passwd slackware -n 3 -x 180 -w 3

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

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

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

        useradd -s /bin/nologin mysql

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

        echo "passwd" | passwd –stdin openstack

原创文章,作者:N21-yoyo_chen,如若转载,请注明出处:http://www.178linux.com/25036

(0)
N21-yoyo_chenN21-yoyo_chen
上一篇 2016-07-22
下一篇 2016-07-22

相关推荐

  • Linux系统启动流程简图

    CentOS 系统启动流程: POST 加电自检   外部硬件是否都能存在和是否能正常工作ROM:COMS 芯片上的BIOS 基本输入输出 BOOT Sequence:   引导加载次序,也就磁盘上的MBR,bootloader 按次序查找各引导设备,第一人有引导程序的设备即为本次启动用到的设备。 bootloaderr:引导加载器,程序…

    2017-05-13
  • Docker 简介

    Docker在现有云计算虚拟化中是非常火的一个项目,那么他和虚拟化有什么不同呢 从上图来看,好像和我们之前说到的虚拟化并没有什么不同,但这里需要说明的是在各guest主机上,是没有操作系统的,他们共用Host主机上的内核空间,只对用户空间进行了隔离。 因此在这种环境下我们不把他称为虚拟化而称作容器。 此种方式的实现主要基于了linux内核自带的两项技术,分别…

    2017-03-19
  • socket编程原理

    1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然…

    Linux干货 2015-04-10
  • 初入命令世界

    一、inode节点号         在linux中,每一个文件都有唯一的inode号,inode号也是系统识别的唯一编码,而文件名仅仅是为了使用者区分辨认, inode (index node )表中包含文件系统所有文件列表 一个节点(索引节点)是在一个表项,包含有关…

    2017-05-26
  • 管理磁盘分区之fdisk详解

    Mozatr的不定期更新,处于学习阶段的Mozart,愿不断分享,不断进步。 此次分享一个重要的管理分区命令:fdisk ,我们一一阐述。 (一)分区 首先我们了解下什么是分区,分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁盘使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 分区的优点:  &nbsp…

    Linux干货 2017-08-19
  • 基于centos7的http的应用

     练习:分别使用CentOS 7和CentOS 6实现以下任务         (1) 配置三个基于名称的虚拟主机;             (a) discuzX             …

    Linux干货 2016-10-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-22 11:04

    写的很好,排版也很棒,加油