马哥教育网络班N22期+第五周课程练习

1、显示当前系统上root、fedora或user1用户的默认shell;

~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }'

root/bin/bash

user1/bin/bash

fedora/bin/bash

2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()

~]# grep "\<[[:alpha:]]\+()" /etc/rc.d/init.d/functions 

checkpid() {

daemon() {

killproc() {

pidfileofproc() {

pidofproc() {

status() {

success() {

failure() {

passed() {

warning() {

action() {

strstr() {

confirm() {

3、使用echo命令输出一个绝对路径,使用grep取出其基名;

~]#  echo "/etc/rc.d/init.d" | grep -E -o "[^/]+$"

init.d

 扩展:取出其路径名

~]# echo /etc/udev/rules.d/ |grep -o ".*v/"

/etc/udev/

4、找出ifconfig命令结果中的1-255之间数字;

~]# ifconfig |grep -o "[1-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-5][0-5]"

5、挑战题:写一个模式,能匹配合理的IP地址;

~]# ifconfig | grep -E -o "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

172.17.42.1

0.0.0.0

255.255.0.0

10.20.0.2

10.20.0.255

255.255.255.0

127.0.0.1

255.0.0.0

6、挑战题:写一个模式,能匹配出所有的邮件地址;

egrep  "^[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+$"

7、查找/var目录下属主为root,且属组为mail的所有文件或目录;

~]# find /var/ -user root -group mail -ls

1704847    4 drwxrwxr-x   2 root     mail         4096 9月 28 05:35 /var/spool/mail

1706058    4 -rw——-   1 root     mail         2569 9月 28 05:20 /var/spool/mail/root

8、查找当前系统上没有属主或属组的文件;      

~]# find / -nouser -o -nogroup -ls

进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

~]# find / -nouser -a -nogroup -a -atime 3 -ls

9、查找/etc目录下所有用户都有写权限的文件;

~]# find /etc/ -perm /222 -type f -ls

10、查找/etc目录下大于1M,且类型为普通文件的所有文件;

~]# find /etc/ -size +1M -type f |xargs ls -lh

11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

~]# find /etc/init.d/ -perm /113 -type f -ls

12、查找/usr目录下不属于root、bin或hadoop的文件;

~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

13、查找/etc/目录下至少有一类用户没有写权限的文件;

~]# find /etc/ -not -perm -111 -type f -ls

14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

~]# find /etc/ -mtime -7 -not -user root -a -not -user hadoop

原创文章,作者:N22-昆山-Dexter_Wang,如若转载,请注明出处:http://www.178linux.com/51078

赞 (0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-10-17 08:36
下一篇 2016-10-17 08:37

相关推荐

  • 跟着vimtutor走来认识vim

        一、前言        VIM是一款在vi上进行改进的功能性强大的,开源的文本编辑器。     二、vim的设计理念     vim的设计理念是组合;       命令组合:类似于linux的由一个个单一功能的程…

    Linux干货 2016-05-13
  • linux磁盘管理及其磁盘分区工具的使用

    一、 几种分区工具: 1.图形化工具gnome-disks使用简单,在此不在赘述。 2.fdisk使用: fdisk支持MBR,也支持GPT分区,对于一块硬盘最多只能理解15个分区,一般使用fdisk做MBR分区,gdisk做GPT分区。下面为fdisk分区示例: [root@centos7 ~]# fdisk /dev/sde…

    Linux干货 2016-08-29
  • 文本编辑秘籍之vim宝典

    一、初识Vim Vim是从 vi 发展出来的一个文本编辑器。其功能非常强大,熟练掌握vim的常用操作和快捷操作能让我们从繁杂的文本处理任务中杀出血路,在运维的道路上愉快前行。 vim使用简单命令组合来完成复杂操作,同时也支持基本正则表达式。 二、拨开vim迷雾: 2.1 使用vim打开一个文件: 如果该文件存在,文件被打开并显示内容;如果该文件不存在,当编辑…

    Linux干货 2016-08-10
  • grep、egrep、fgrep命令和正则表达式用法

    一、简介  1.1、grep说明    grep命令简单来说就是linux系统实现文本内容筛选过滤的命令。当我们需要快速定位查找文本(通常是配置文件)中我们需要的内容时,使用grep命令绝对算是最有效的处理方式之一。原因就在于grep可以配合包括“管道”、“正则表达式”等命令完成我们想要的关键字筛选过滤功能。个人认为不管是喜欢L…

    Linux干货 2015-08-31
  • 八大排序算法

    概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。     当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。    快速…

    Linux干货 2015-04-07
  • 第七周作业

    第七周 1,创建一个10G分区,并格式化为ext4文件系统;(1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@www ~]# fdisk /dev/sda <————-fd…

    Linux干货 2017-09-03