Linux基础知识(四)-正则表达式grep,egrep

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

[root@localhost ~]# cp -r /etc/skel /home/tuser1
drwxr-xr-x. 2 root root 59 Oct  8 17:53 /home/tuser1/
[root@localhost ~]# chmod -R 700 /home/tuser1
[root@localhost ~]# ll -d /home/tuser1/
drwx------. 2 root root 59 Oct  8 17:53 /home/tuser1/
[root@localhost ~]# chmod  go=  /home/tuser1
[root@localhost ~]# ll -d /home/tuser1/
drwx------. 2 root root 59 Oct  8 17:53 /home/tuser1/

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

可以使用vim进行编辑,添加一行 hadoop:x:3005:
或者使用>>追加的方式

[root@localhost ~]# echo "hadoop:x:3005:" >> /etc/group
[root@localhost ~]# tail -1 /etc/group
hadoop:x:3005:

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

可以使用vim编辑器编辑:

或者使用>>追加

[root@localhost ~]# echo "hadoop:x:3005:3005::/home/hadoop:/bin/bash" >> /etc/passwd
[root@localhost ~]# tail -1 /etc/passwd
hadoop:x:3005:3005::/home/hadoop:/bin/bash

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

[root@localhost ~]# cp -r /etc/skel /home/hadoop
[root@localhost ~]# ls -a /home/hadoop
.  ..  .bash_logout  .bash_profile  .bashrc
[root@localhost ~]# chmod -R 700 /home/hadoop

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

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
[root@localhost ~]# ls -ld /home/hadoop
drwx------. 2 hadoop hadoop 59 Oct  8 18:22 /home/hadoop

从题3到题5的过程结束后,在给hadoop账户一个密码,hadoop账户
就可以登录了,是一个手动添加账户的过程

[root@localhost ~]# echo "111111" | passwd --stdin hadoop

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

[root@localhost ~]# grep -E "^[s|S]" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              7016 kB
Slab:              70112 kB
SReclaimable:      27504 kB
SUnreclaim:        42608 kB
###或者###
[root@localhost ~]# grep -E "^[s|S]" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              7016 kB
Slab:              70112 kB
SReclaimable:      27504 kB
SUnreclaim:        42608 kB

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

[root@localhost ~]# grep -v  "/sbin/nologin" /etc/passwd
##只显示用户名##
[root@localhost ~]# grep -v  "/sbin/nologin" /etc/passwd | cut -d: -f1

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

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

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

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

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

[root@localhost ~]# grep -E "^[[:space:]]+" /boot/grub/grub.conf
 ##或者##
[root@localhost ~]# grep -E "^[[:space:]]{1,}" /boot/grub/grub.conf

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

[root@localhost ~]# grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit

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

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

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

[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
[root@localhost ~]# egrep "^([^:]+).*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
nobody:x:99:99:Nobody:/:/sbin/nologin
hadoop:x:3005:3005::/home/hadoop:/bin/bash
bash:x:3006:3006::/home/bash:/bin/bash
basher:x:3008:3008::/home/basher:/bin/bash
nologin:x:3009:3009::/home/nologin:/sbin/nologin

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

(0)
luoluoluoluo
上一篇 2016-10-17 08:37
下一篇 2016-10-17 10:16

相关推荐

  • 0803课堂练习与作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 不能添加在/testdir中增删改文件或目录 2、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 不能查看文件中的文件列表 3、当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 不…

    Linux干货 2016-08-04
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存 至/tmp/maxusers.txt文件中。 5、取出当前主机…

    Linux干货 2016-11-21
  • linux文件管理及bash的基本特性

    一、常用的文件和目录管理命令1、pwd命令:用来显示当前的工作目录语法格式:直接输入pwd回车显示当前的工作目录示例:用pwd命令显示当前的工作目录[root@suyiwen ~]# pwd/root2、mkdir命令:用来创建目录文件语法格式:mkdir [OPTION]… DIRECTORY…常用option:-m,用来指定目录的…

    Linux干货 2018-03-11
  • Hadoop Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需 要的内容,这套SQL 简称Hive SQL,使不熟悉mapredu…

    Linux干货 2015-04-13
  • Linux网络配置基础二(网络模块与nmcli命令)

    Linux网络配置基础二 相关命令 lsmod命令 lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。第一列:表示模块的名称第二列:表示模块的大小第三列:表示…

    Linux干货 2016-09-09
  • N25-第一周作业

    一,描述计算机的组成及其功能。        计算机(Computer)是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。由硬件和软件所组成,两者是不可分割的。        计算机的组成分为控制…

    Linux干货 2016-12-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-20 19:35

    很棒,看的出来真的是在很用心的完成作业,继续保持。