第五周作业

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

[root@localhost ~]# awk -F: '/^(root|user1|fedora)/{print $1,"shell is",$NF}' /etc/passwd
root shell is /bin/bash
fedora shell is /bin/bash
user1 shell is /bin/bash

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

[root@localhost ~]# egrep -o '^(_|[a-z]+).*\(\)' /etc/rc.d/init.d/functions 
fstab_decode_str()
checkpid()
__readlink()
__fgrep()
__umount_loop()
__umount_loopback_loop()
__pids_var_run()
__pids_pidof()
daemon()
killproc()
pidfileofproc()
pidofproc()
status()
echo_success()
echo_failure()
echo_passed()
echo_warning()
update_boot_stage()
success()
failure()
passed()
warning()
action()
strstr()
confirm()
get_numeric_dev()
is_ignored_file()
is_true()
is_false()
apply_sysctl()
key_is_random()
find_crypto_mount_point()
init_crypto()

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

[root@localhost ~]# echo /etc/fstab | grep  -E  -o  "[^/]+/?$"
fstab

    扩展:取出其路径名

[root@localhost ~]# echo /etc/fstab | grep  -E  -o  "^/[^/].+/" 
/etc/

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

[root@thinkmail ~]# ifconfig | grep  -E  -o  "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"
29
192
168
54
76
192
168
54
255
255
255
255
1
1
4
25
5
127
1
255
1

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

[root@thinkmail ~]# ifconfig eth0 |grep 'inet addr:'|egrep -o '[1][0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3}.[1-9][1-5]{1,2}'
192.168.54
192.168.54.255

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

[root@thinkmail ~]# egrep --color  '[0-9A-Za-z]+@[0-9A-Za-z]+.[a-z]{1,3}' aa
hexinhai@aaa.com
adjaldal@ok.com
jdlalaf@baidu.cn
jdlalaf@baidu.cc
jdlalaf@baidu.net

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

[root@thinkmail ~]# find /var/ -user root -group mail
/var/spool/mail

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

[root@localhost tmp]# find /tmp -nouser -o -nogroup |xargs ls -l
-rw-r--r-- 1  503 503 0 9月  13 16:50 /tmp/aa
-rw-r--r-- 1 root 503 0 9月  13 16:51 /tmp/bb

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

find /tmp -nouser -o -nogroup -atime -3 |xargs ls -l

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

[root@thinkmail tmp]# find /etc/ -type f -perm -222 -ls
131264    0 -rw-rw-rw-   1 root     root            0 9月 13 16:55 /etc

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

[root@thinkmail tmp]# find /etc/ -size +1M |xargs ls -lh
-rw-r--r--. 1 root root 6.9M 9月   9 13:54 /etc/selinux/targeted/modules/active/policy.kern
-rw-r--r--. 1 root root 6.9M 9月   9 13:54 /etc/selinux/targeted/policy/policy.24

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

[root@thinkmail tmp]# find /etc/init.d/ -perm -111 |xargs  ls -l
-rwxr-xr-x  1 root root     0 9月  13 17:01 /etc/init.d/aaa.sh
-rwxr-xr-x  1 root root  1288 5月  12 04:43 /etc/init.d/abrt-ccpp
-rwxr-xr-x  1 root root  1628 5月  12 04:43 /etc/init.d/abrtd
-rwxr-xr-x  1 root root  1642 5月  12 04:43 /etc/init.d/abrt-oops
-rwxr-xr-x  1 root root  1818 2月  17 2016 /etc/init.d/acpid
-rwxr-xr-x  1 root root  2062 2月  20 2015 /etc/init.d/atd
-rwxr-xr-x  1 root root  3580 5月  11 14:17 /etc/init.d/auditd
-rwxr-xr-x. 1 root root  4043 2月  22 2013 /etc/init.d/autofs
-r-xr-xr-x  1 root root  1343 8月  24 02:37 /etc/init.d/blk-availability
-rwxr-xr-x  1 root root  5221 7月  13 00:27 /etc/init.d/cgconfig
-rwxr-xr-x  1 root root  3580 7月  13 00:27 /etc/init.d/cgred
-rwxr-xr-x  1 root root 11864 7月  24 2015 /etc/init.d/cpuspeed
-rwxr-xr-x. 1 root root  2793 7月  19 2011 /etc/init.d/crond
-rwxr-xr-x  1 root root  1801 10月 15 2014 /etc/init.d/haldaemon
-rwxr-xr-x. 1 root root  5829 1月   9 2013 /etc/init.d/halt
-rwxr-xr-x. 1 root root  9515 2月  22 2013 /etc/init.d/ip6tables

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

[root@thinkmail init.d]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \)
/usr/xiaoxin
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

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

[root@thinkmail init.d]# find /etc/ -perm -444

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

find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

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

(0)
xiaoxinxiaoxin
上一篇 2016-09-15 22:21
下一篇 2016-09-15 22:21

相关推荐

  • shell编程之变量,数值计算,字符比较,文件测试小记

     变量     变量:能储存计算结果或能表示值抽象概念,其指向的内存空间中一段地址。        变量赋值:name=value    溢出:字符超过定义内存中间大小    变量类型:数据类型,存储的格式,参与的运算   &nb…

    Linux干货 2016-08-15
  • 文件系统的挂载、usb设备光盘的使用

    一、     文件系统的挂载mount: 1.       挂载命令mount使用: (1)挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为,挂载点下原有文件在挂载完成后会被临时隐藏 (2) 卸载:为解除此…

    Linux干货 2016-08-29
  • grep 整理

    grep: Linux上文本处理三剑客 grep:文本过滤(模式:pattern)工具;  grep: Global search REgular expression and Print out the line. 作用:文本搜索工具,根据用户指定的“模式”…

    Linux干货 2016-10-09
  • 26期全程班-第七周博客作业

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

    Linux干货 2017-03-17
  • linux基础命令

    显示当前系统正在使用的shell:echo ${SHELL}  注意$在这里表示输出的内容是变量命令提示符:prompt[root@localhost ~]# 表示管理员用户 $表示普通用户修改提示符格式 PS1=“[\e[31m][\u@\h \w]\$[\e[0m]”\h 主机名简称\H 主机名\w 当前…

    Linux干货 2017-04-05
  • N25第一周作业-Linux初步认识

    一.描述计算机的组成及其功能。     计算机组成有两部份,一为硬件,二为软件OS         硬件:CPU,负责运算操作。          &…

    Linux干货 2016-12-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:29

    匹配ip地址不对,在好好想想