马哥教育N22期第五周作业

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

[root@localhost ~]# egrep "^root|fedora|user1" /etc/passwd
root:x:0:0:root:/root:/bin/bash
fedora:x:1002:1002::/home/fedora:/bin/bash
user1:x:1003:1003::/home/user1:/bin/bash

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

[root@localhost ~]# egrep "[[:alpha:]]+\(\)" /etc/rc.d/init.d/functions 
checkpid() {
__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() {
is_ignored_file() {
is_true() {
is_false() {
apply_sysctl() {

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

[root@localhost ~]# echo /etc/sysconfig/ |egrep -o "[^/]+/?$"  \\基名
sysconfig/
[root@localhost ~]# echo /etc/sysconfig/ |egrep -o "^/[[:alpha:]]+"  \\路径名
/etc

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

[root@localhost ~]# ifconfig |egrep -o "[0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]" |sort -nu
0
1
2
3
4
5
6
10
40
43
44
51
52
53
54
65
73
94
99
122
127
128
150
168
192
255

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

[root@localhost ~]# ifconfig |egrep -o "(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255

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

bash脚本:
#!/bin/bash
#
read -p "Please enter e-mail:" email
echo $email |egrep -o "^[[:alnum:]_-]*@[[:alnum:]_-]*\.[[:alpha:]_-]*$"
if [ `echo $?` -eq 0 ];then
        echo "it's e-mail address"
else
        echo "it's not e-mail address"
fi
举例:
[root@localhost xuc-scripts]# bash e-mail.sh 
Please enter e-mail:14691171@qq.com
14691171@qq.com
it's e-mail address
[root@localhost xuc-scripts]# vim e-mail.sh
[root@localhost xuc-scripts]# bash e-mail.sh 
Please enter e-mail:354
it's not e-mail address

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

[root@localhost var]# find /var -user root -group mail -ls
100667017    0 drwxrwxr-x   2 root     mail           65 Sep  8 21:49 /var/spool/mail
37675687    0 drwxr-xr-x   2 root     mail            6 Sep  9 04:15 /var/test
4392325    0 drwxr-xr-x   2 root     mail            6 Sep  9 04:24 /var/test1

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

[root@localhost var]# find / -nouser -o -nogroup -ls
find: ‘/proc/25303/task/25303/fd/6’: No such file or directory
find: ‘/proc/25303/task/25303/fdinfo/6’: No such file or directory
find: ‘/proc/25303/fd/6’: No such file or directory
find: ‘/proc/25303/fdinfo/6’: No such file or directory
find: ‘/run/user/1000/gvfs’: Permission denied
[root@localhost var]# find / -nouser -o -nogroup -atime -3 -ls
find: ‘/proc/25323/task/25323/fd/6’: No such file or directory
find: ‘/proc/25323/task/25323/fdinfo/6’: No such file or directory
find: ‘/proc/25323/fd/6’: No such file or directory
find: ‘/proc/25323/fdinfo/6’: No such file or directory
find: ‘/run/user/1000/gvfs’: Permission denied

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

[root@localhost var]# find /etc/ -perm -222 -type f -ls
569318    4 -rwxrwxrwx   1 root     root         1982 Jun 10  2014 /etc/virc
818408    4 -rwxrwxrwx   1 root     root          970 Dec  3  2015 /etc/yum.conf

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

[root@localhost var]# find /etc -size +1M -type f -ls
37239307 3772 -rw-r--r--   1 root     root      3858924 Nov 20  2015 /etc/selinux/targeted/policy/policy.29
69579782 6852 -r--r--r--   1 root     root      7014922 Sep  7 09:12 /etc/udev/hwdb.bin
68402927 1336 -rw-r--r--   1 root     root      1367395 Mar  5  2015 /etc/brltty/zh-tw.ctb

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

[root@localhost var]# find /etc/init.d/ -perm -113 -type f -ls
67903846    4 -rwxrwxrwx   1 root     root         2989 Sep 16  2015 /etc/init.d/netconsole
67903847    8 -rwxrwxrwx   1 root     root         6630 Sep 16  2015 /etc/init.d/network

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

[root@localhost usr]#  find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
101333886    4 drwx------   2 polkitd  root         4096 Sep  7 07:06 /usr/share/polkit-1/rules.d
35800731   16 -rwsr-sr-x   1 abrt     abrt        15336 Dec  1  2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
37675688    0 drwxr-xr-x   2 xuc      xuc             6 Sep  9 05:16 /usr/test1
69105679    0 drwxr-xr-x   2 xuc      xuc             6 Sep  9 05:16 /usr/test2
101683877    0 drwxr-xr-x   2 xuc      xuc             6 Sep  9 05:16 /usr/test3

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

[root@localhost usr]# find /etc/ -not -perm -222 -type f -ls
102641157    8 -rwxr-xr-x   1 root     root         5767 Jun 10  2014 /etc/smartmontools/smartd_warning.sh
68122669    4 -rwxr-xr-x   1 root     root         1382 Nov 20  2015 /etc/qemu-ga/fsfreeze-hook
102705029    4 -rwxr-xr-x   1 root     root         1676 Nov 20  2015 /etc/kernel/postinst.d/51-dracut-rescue-postinst.sh
3936052    8 -rw-r--r--   1 root     root         5171 Jun  9  2014 /etc/man_db.conf
 18596   52 -rw-r--r--   1 root     root        51787 May 14  2013 /etc/mime.types
4008275    4 -rw-r-----   1 root     root         3181 Jul 25  2013 /etc/sudo-ldap.conf

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

[root@localhost usr]# find /etc/ -not -user root -a -not -user hadoop -mtime -7 -type f -ls

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

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

相关推荐

  • 初窥门径shell脚本

    1.什么是shell脚本    首先它是一个脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。确切的说shell脚本就是一些命令的集合。 2.写脚本前的一些细节及建议   Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已…

    Linux干货 2016-08-15
  • class16高级磁盘管理(二)网络管理(一)

    一、高级磁盘管理(二) 逻辑卷管理器快照 快照是特殊的逻辑卷 快照只有在它们和原来的逻辑卷不同时才会消耗空间。 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。 建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend 放大快照。 使用LVM 快照 为现有逻辑卷创建快照 #lvcreate -L …

    Linux干货 2016-09-05
  • CA和证书

    A与B双方通信,需要通过签证机构CA颁发证书,才可以互相信任,从而安全的进行数据传输。想要获取证书,除了付费购买认证机构的证书,还可以自签名获取证书。 openssl命令可以搭建CA,实现自签名证书。下面以三台主机为例,模拟根CA、子CA的搭建,以及客户端申请证书的过程。 一、搭建根CA /etc/pki/tls/openssl.cnf文件是openssl的…

    2017-09-10
  • 马哥教育网络班21期+第2周课程练习

    一、Linux文件管理类命令汇总 1、文件的复制命令:cp 复制命令:cp     cp [OPTION]… [-T] SOURCE DEST     cp [OPTION]… SOURCE… DI…

    Linux干货 2016-07-29
  • linux 文件管理命令

    cp 复制文件或者路径 单源复制: cp [OPTION]…[-T] SOUTCE DEST 如果DEST不存在:则事先创建此文件,并复制源文件的数据流到DEST中 如果DEST存在:   如果DEST是非目录文件:则覆盖目标文件; 如果DEST是目录,就在这个目录中创建一个同名的文件,把源数据复制到这个文件中。 多源复制: cp [O…

    Linux干货 2017-08-28
  • 马哥教育网络班22期+第1周课程练习 忍者乱太郎喻成

    1.计算机组成:  根据冯诺依曼的计算机结构分为四大块:控制器,运算器, 存储器,输入输出设备 控制器:对其他的组件进行控制 运算器:用于处理计算工作,不控制输入和输出 储存器:用于暂时或长期存储数据 输入输出:与外界进行交互 个人延伸: 我的理解这是一个在计算机研发之前的一个理论假象, 相对现在真实的计算机体系,这个分类会比较模糊。 运算器:cp…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 19:04

    写的很棒,给你点赞