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

相关推荐

  • bash 数组和变量

    数组可以把多个变量集合起来,不用再一个个的声明变量,也可以调多个单个的变量使用,极大方便了我们的使用,而且Linux bash中的数组还支持同一个数组中同时有数字和字符串。下面让我们来了解一下数组。 一,数组的简介 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0 开始,属于数值索引 注意…

    Linux干货 2016-08-24
  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2017-04-08
  • Linux任务计划,周期性任务执行详解

    Linux任务计划,周期性任务执行 概述 本章将为大家介绍一些任务计划和周期性任务计划执行相关内容任务计划的分类主要有由两种    未来的某时间点执行一次某任务:at,batch    周期性运行某任务:crontab具体分为三个方面来说明:    1、at计划任务    2、c…

    Linux干货 2016-09-27
  • scp命令介绍

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少…

    Linux干货 2017-07-24
  • 20160802作业

    20160802作业 1、每日课堂笔记总结 2、预习 3、每日课堂pdf练习 4、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@Centos7 ~]# chmod…

    Linux干货 2016-08-04
  • N26-第六周

    请详细总结vim编辑器的使用 vim 模式化的编辑器 vim的三种模式:1.编辑模式(命令模式)                          2.输入模式          …

    Linux干货 2017-03-13

评论列表(1条)

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

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