Linux文本管理及grep内容过滤实战

马哥教育网络班21期-第四周课程练习

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

[root@localhost ~]# cp -R /etc/skel /home/tuser1
[root@localhost ~]# chmod -R go= /home/tuser1/

2、编辑/etc/group文件,添加组hadoop。

[root@localhost ~]# echo "hadoop:x:3223:" >> /etc/group

3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

[root@localhost ~]# echo "hadoop:x:3223:3223::/home/hadoop:/sbin/nologin" >> /etc/passwd

4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

[root@localhost ~]# cp -R /etc/skel /home/hadoop ; chmod go= /home/hadoop

5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

a. [root@localhost ~]# grep -i "^s" /proc/meminfo
b. [root@localhost ~]# grep "^[sS]" /proc/meminfo

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

[root@localhost ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

[root@localhost ~]# grep "/bin/bash$" /etc/passwd | cut -d: -f1

9、找出/etc/passwd文件中的一位数或两位数;

[root@localhost ~]# grep "\<[0-9]\{1,2\}\>" /etc/passwd

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

[root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

[root@localhost ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\{1,\}" /etc/rc.d/rc.sysinit

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

[root@localhost ~]# netstat -tan | egrep "LISTEN|[[:space:]]$"

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

[root@localhost ~]# for i in bash testbash basher;do useradd $i ;done
[root@localhost ~]# useradd -s /sbin/nologin nologin
[root@localhost ~]# cut -d: -f1,7 /etc/passwd | grep "\(\<[[:alnum:]]\{1,\}\):.*\1$" | cut -d: -f1

14、显示/proc/meminfo文件中以大写或小写S开头的行;用三种方式;

a. [root@localhost ~]# grep -i "^s" /proc/meminfo
b. [root@localhost ~]# grep "^[sS]" /proc/meminfo
c. [root@localhost ~]# egrep "^(s|S)" /proc/meminfo

15、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

[root@localhost ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1

16、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

[root@localhost ~]# grep "/bin/bash$" /etc/passwd

17、找出/etc/passwd文件中的一位数或两位数;

[root@localhost ~]# grep "\<[[:digit:]]\{1,2\}\>" /etc/passwd

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

(0)
Net21_木头Net21_木头
上一篇 2016-07-29
下一篇 2016-07-29

相关推荐

  • Linux获取命令帮助信息

    获取命令的使用帮助      一. 内部命令:help COMMAND      二.外部命令:     1.命令自带简要格式的使用帮助        # COMMAND –help     2.使用手册:manual    位置:/user/share/man        1.语法:# man [option] COMMAND        …

    Linux笔记 2018-05-12
  • 第四周作业

    cp、grep、sueradd、chmod、vim命令的一些用法

    Linux干货 2017-12-24
  • varnish4 基础实战

    实验环境 node1 192.168.0.8 varnish服务器 node2 192.168.0.3 动态web node3 192.168.0.7 静态web node1安装varnish ##安装varnish yum源  # wget http://repo.varnish-cache.org/redhat/v…

    Linux干货 2016-11-15
  • 第三周笔记

    Linux的文本处理三剑客> grep:文本过滤(模式:pattern)工具> grep, egrep, fgrep(不支持正则表达式搜索)> sed:stream editor,文本编辑工具> awk:Linux上的实现gawk,文本报告生成器– ### grep作用是根据“pattern”对目标文件进行搜索,并且显示匹…

    Linux笔记 2018-04-15
  • 网络互联参考模型(详解)

    网络互联参考模型 1. 什么是协议 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言” 描述网络通信中“语言”规范的一组规则就是协议 例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语…… 数据通信协议的定义 决定数据的格式和传输的一组规则或者一组惯例 2. 协议分层 网络通信的过程很复杂: 数据以电子信号的形式穿越…

    Linux干货 2015-05-07
  • 点名脚本

    脚本要求:1、随机抽点80以内的随机证书;                2、可以一次抽取多个随机数;同时间抽取的随机数要唯一;                3、被抽取之后的随机数,之后不会再抽取;…

    2017-05-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-29 16:05

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