第三周:文本处理工具wc,cut,sort,uniq,tr,tee命令练习和用户及组相关命令练习

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

[root@app1 tmp]# who | cut -d" " -f1| uniq
root
dts
centos

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

[root@app1 tmp]# last -1
centos   pts/5        10.88.103.46     Tue Sep 27 15:24   still logged in   

wtmp begins Sat Jun  4 13:22:15 2016

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

[root@app1 tmp]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1
     25 /sbin/nologin

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

[root@app1 tmp]# ifconfig eth0 | grep "inet addr" | cut -d":" -f2 |cut -d" " -f1
10.88.158.84
[root@app1 tmp]# ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F":" '{print $2}'
10.88.158.84

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

[root@app1 tmp]#  sort -t: -k3 -n /etc/passwd | tail -10 | tr "a-z" "A-Z" | tee /tmp/maxusers.txt
[root@app1 tmp]#  sort -t: -k3 -n /etc/passwd | tail -10 > /tmp/maxusers.txt
[root@app1 tmp]# cat /tmp/maxusers.txt

6、列出/etc目录下所有.conf结尾的文件的文件名,并将其名字转换为大写;

[root@app1 tmp]# ls /etc/*.conf | tr "a-z" "A-Z" | tee /tmp/etc.conf

7、显示/var目录下一级子目录的总个数;

[root@app1 tmp]# ll /var/ | grep ^d | wc -l

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

[root@app1 tmp]# sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1

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

[root@app1 tmp]# cat /etc/fstab > /tmp/etc.test && cat /etc/issue >> /tmp/etc.test
[root@app1 tmp]# cat /etc/fstab /etc/issue > /tmp/etc.test

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

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

        [root@app1 tmp]# groupadd -g 2016 distro
        [root@app1 tmp]# grep distro /etc/group
        distro:x:2016:

    (2)、创建用户mandriva,其ID号为100;基本组为distro;

        [root@app1 tmp]# useradd -u 100 -g distro mandriva
        [root@app1 tmp]# grep mandriva /etc/passwd
        mandriva:x:100:2016::/home/mandriva:/bin/bash

    (3)、创建按用户mageia,其ID好为1100,家目录为/home/linux;

        [root@app1 tmp]# useradd mageia -u 1100 -d /home/linux    
        [root@app1 tmp]# ls -ld /home/linux/
        drwx------ 4 mageia mageia 4096 Sep 27 16:35 /home/linux/
        [root@app1 tmp]# grep mageia /etc/passwd
        mageia:x:1100:1100::/home/linux:/bin/bash

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

        [root@app1 tmp]# echo "mageedu" | passwd mageia --stdin
        Changing password for user mageia.
        passwd: all authentication tokens updated successfully.

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

        [root@app1 tmp]# userdel mandriva    
        [root@app1 tmp]# ls -ld /home/mandriva
        drwx------ 4 100 distro 4096 Sep 27 16:32 /home/mandriva

    (6)、创建用户slakware,其ID号为2002,基本组为distro,附件组peguin;

        [root@app1 tmp]# useradd -u 2002 -g distro -G peguin slakware    
        [root@app1 tmp]# grep slakware /etc/passwd
        slakware:x:2002:2016::/home/slakware:/bin/bash
        [root@app1 tmp]# grep slakware /etc/shadow
        slakware:!!:17071:0:99999:7:::
        [root@app1 tmp]# grep slakware /etc/group
        peguin:x:505:gentoo,slakware

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

        [root@app1 tmp]# usermod -s /bin/tcsh slakware
        [root@app1 tmp]# grep slakware /etc/passwd
        slakware:x:2002:2016::/home/slakware:/bin/tcsh

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

        [root@app1 tmp]# groupadd admins        
        [root@app1 tmp]# usermod -a -G admins slakware
        [root@app1 tmp]# grep slakware /etc/group
        peguin:x:505:gentoo,slakware
        admins:x:4005:slakware

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

        [root@app1 tmp]# echo "dtsdts" |  passwd -n 3 -x 180 -w 3 --stdin slakware

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

        [root@app1 tmp]# useradd -u 3003 -g clouds -G peguin,nova openstack        
        [root@app1 tmp]# grep openstack /etc/group
        peguin:x:505:gentoo,slakware,openstack
        nova:x:4007:openstack

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

        [root@app1 tmp]# useradd -r mysql -s /sbin/nologin

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

        [root@app1 tmp]# echo "dtsdts" | passwd --stdin openstack        
        Changing password for user openstack.
        passwd: all authentication tokens updated successfully.
        [root@app1 tmp]#

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

(0)
上一篇 2016-09-27 16:00
下一篇 2016-09-27 17:35

相关推荐

  • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

    让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

    Linux干货 2015-02-25
  • shell编程之函数

    函数:函数function是由若干条shell命令组成的语句块,实现代码 重用和模块化编程      1)函数的定义: 可在 命令行,脚本的一部分,只有函数的单独文件 中定义        两部分组成:函数名和函数体;函…

    Linux干货 2016-08-21
  • 读写执行权限对文件和目录的影响

    权限的作用 对于linux运维工作来说,熟练掌握文件管理技能是非常重要的,所谓“一切皆文件”,控制住文件的权限,可以说也就控制住了linux系统。而且,运维的工作要和成千上万的文件打交道,对于文件属性的熟识程度对于工作的顺利开展有着深远的影响。综上,了解文件,熟悉文件,掌握文件,是我们运维的一个重要的课程。 不同权限对文件和目录的影响 首先,我们现对权限进行…

    Linux干货 2017-07-30
  • N21沉舟17周作业

    1、结合图形描述LVS的工作原理; NAT模型 NAT模型其实就是通过网络地址转换来实现负载均衡的,它的工作方式几乎跟iptables 中的DNAT一模一样的,NAT模型的工作方式: 1.用户请求VIP(也就是是CIP请求VIP) 2,Director Server 收到用户的请求后,发现源地址为CIP请求的目标地址为VIP,那么Dorector Serve…

    Linux干货 2016-11-14
  • 马哥教育网络班22期第2周课程作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     1、cp 文件复制 [选项]源文件 目标文件         -r 递归复制    …

    Linux干货 2016-08-31
  • LINUX集群概念

    反向代理服务器:客户端发现请求给反向代理服务器,反向代理服务器与后端真实服务器进行通信,并由反向代理服务器返回信息给客户端 不同的服务,反向代理服务器使用的协议不同(如http、mysql等): 反代服务器后端的真实服务器一般是多台服务器组成的集群 Linux Cluster:          集群:将多台…

    Linux干货 2017-01-10