N25 – Week 5 blog

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

[root@dhcp-10-129-6-166 ~]# grep -E "root|fedora|user1" /etc/passwd | grep -o "[^:]*$"
/bin/bash
/sbin/nologin
/bin/bash
/sbin/nologin
[root@dhcp-10-129-6-166 ~]#
2. 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,刑如: hello(); 
[root@dhcp-10-129-6-166 ~]# grep -E "\<[[:alpha:]]+\(\)" /etc/rc.d/init.d/functions
checkpid() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# echo "/etc/rc.d/init.d/functions" | grep "[^/]*$"
/etc/rc.d/init.d/functions
[root@dhcp-10-129-6-166 ~]#

扩展:取出其路径名

[root@dhcp-10-129-6-166 ~]# echo "/etc/rc.d/init.d/functions" | grep -o "^/.*/"
/etc/rc.d/init.d/
[root@dhcp-10-129-6-166 ~]#

4. 找出ifconfig命令结果中的1-225的数字

[root@dhcp-10-129-6-166 ~]# ifconfig | grep -E "\<([0-9]|[1-9][0-9]|2[0-4][0-9]|25[0-5])\>"
        inet 10.129.6.166  netmask 255.255.255.0  broadcast 10.129.6.255
        inet6 fe80::20c:29ff:fe02:650b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:02:65:0b  txqueuelen 1000  (Ethernet)
        RX packets 5819710  bytes 437764632 (417.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 127834  bytes 18650407 (17.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4  bytes 234 (234.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 234 (234.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# ifconfig | grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])"
10.129.6.166
10.129.6.25
127.0.0.1
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# grep -E "\<([[:alnum:]]+[._]*[[:alnum:]]*)+@([[:alnum:]]+\.[[:alpha:]]+)*\>" mailaddress
abc@outlook.com
abc@outlook.com.cn
abc@outlook.net
abc.a@outllo.com
abc_b@outlook.com
1abc@outlook.com
abc$a@outloo.com
abc@outlook.cn.com
1abc$edf@outlook.com.cn
luo@t.tt
Dear Sender, Thanks for your massage. I am on my annual leave from 31Dec2016 - 02Jan2017 and limit to access email. Any urgent, please drop email to magedu@magedu.com.
Or XiaoS@magedu.com BigS@magedu.com N25@magedu.com.
abc@outlook.com:bcd@outlook.com:cde@outlook.com
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /var -user root -group mail -ls
67150324    4 drwxrwxr-x   2 root     mail         4096 12月 27 14:13 /var/spool/mail
67972298    4 -rw-------   1 root     mail          756 12月 22 09:46 /var/spool/mail/root
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /home -nouser -nogroup -ls
624058    4 drwx------   2 2013     2013         4096 12月 27 14:24 /home/user8
624059    4 -rw-r--r--   1 2013     2013           18 11月 20  2015 /home/user8/.bash_logout
624060    4 -rw-r--r--   1 2013     2013          193 11月 20  2015 /home/user8/.bash_profile
624061    4 -rw-r--r--   1 2013     2013          231 11月 20  2015 /home/user8/.bashrc
624062    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file1
624063    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file2
570464    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file3
570465    4 -rw-------   1 2013     2013           26 12月 27 14:24 /home/user8/.bash_history
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /home -nouser -nogroup -atime -3 -ls
624058    4 drwx------   2 2013     2013         4096 Dec 27 14:24 /home/user8
624059    4 -rw-r--r--   1 2013     2013           18 Nov 20  2015 /home/user8/.bash_logout
624060    4 -rw-r--r--   1 2013     2013          193 Nov 20  2015 /home/user8/.bash_profile
624061    4 -rw-r--r--   1 2013     2013          231 Nov 20  2015 /home/user8/.bashrc
624062    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file1
624063    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file2
570464    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file3
570465    4 -rw-------   1 2013     2013           26 Dec 27 14:24 /home/user8/.bash_history

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

[root@dhcp-10-129-6-166 ~]# find /etc -perm /222 | wc -l
1078
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /etc/ -size +2M -type f -ls
34318041 6824 -r--r--r--   1 root     root      6984832 Dec  1 22:09 /etc/udev/hwdb.bin
67884867 3772 -rw-r--r--   1 root     root      3858924 Nov 21  2015 /etc/selinux/targeted/policy/policy.29

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

[root@dhcp-10-129-6-166 mnt]# find /etc/init.d/ -perm -113 -ls
[root@dhcp-10-129-6-166 mnt]#

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

[root@dhcp-10-129-6-166 mnt]# find /usr ! \( -user root -o  -user bin \) -type f -ls
[root@dhcp-10-129-6-166 mnt]#

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

[root@dhcp-10-129-6-166 mnt]# find /etc -perm /333 -a -type f -ls
33554563    0 -rw-------   1 root     root            0 12月 29 11:51 /etc/crypttab
34101623    4 -rw-r--r--   1 root     root           70 1月  9 21:35 /etc/resolv.conf
100663438    4 -rw-r--r--   1 root     root         1690 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
100663439    4 -rw-r--r--   1 root     root         1004 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
100663440    4 -rw-r--r--   1 root     root         1690 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7
33833594    4 -rw-r--r--   1 root     root         2388 6月 29  2015 /etc/pki/tls/certs/Makefile
...

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

[root@dhcp-10-129-6-166 mnt]# find /etc -mtime +7 -a ! -user root -exec ls -l {} \;
总用量 8
-rw-r--r--. 1 root root 974 6月  10 2014 49-polkit-pkla-compat.rules
-rw-r--r--. 1 root root 326 4月  30 2013 50-default.rules
-rw-------. 1 tss tss 7046 12月 29 11:51 /etc/tcsd.conf

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

(0)
JLJL
上一篇 2016-12-27 17:02
下一篇 2016-12-27 17:58

相关推荐

  • NFS,samba,vsftpd的基本使用

    一.NFS介绍 NFS(Network File System),全名叫做网络文件系统,是由SUN公司研发的。顾名思义,简单理解就是通过网络互联,将本地的文件系统共享出去,从而实现资源的共享,NFS监听在TCP的2049端口上。当涉及到主机之间的通信时,就会存在安全问题,于是为了安全考虑,主动提出请求的一方(客户端)需要提供一些基本信息来认证,这些信息是需要…

    Linux干货 2017-01-04
  • 描述器

    Edit 描述器 |[Descriptors] 描述器的表现 用到3个魔术方法:__get__()、__set__()、__delete__() 方法用法: object.__get__(self,instance,owner) object.__set__(self,instance,value) object.__delete__(self,instan…

    Linux干货 2017-11-29
  • 初识MySQL(二)SQL语句

        MySQL是关系型数据库的一种,基于二维表实现数据的存储与读取,通过索引实现快速查询,而实现数据库、表、索引的操作则是由SQL语句来完成的。     1、MySQL中字符大小写       (1)、SQL关键字以及函数名不…

    Linux干货 2015-08-26
  • 初学Linux的感受

    我是马哥25期的学员,之前从来没有接触过Linux,近几天学习Linux下来,收获很多,懂了一些基本命令,以及安装Linux系统. 我知道从一个什么也不懂的小白变成站在云端的大神,这之间需要付出多少的努力和汗水.开学典礼有幸见到马哥本人,也见到 我的授课教师老王,之前看到两位上课的视频,诙谐幽默,我很喜欢! 但愿我这四个月痛并快乐着. 努力,然后看到胜利的曙…

    Linux干货 2017-07-11
  • 构建企业日志实时查看系统

    前言:          由于项目刚刚上线,出现了许多bug,开发人员需要经常跑过来查看日记,严重影响了我们运维人员的工作效率,时而久之,感觉那个烦啊。。各位仁兄有 没有体 会到呢!!! 之前找了一些处理日记的工具都不具有实时性,所以都未采纳,刚刚发现了log.io这个工具推荐个…

    Linux干货 2015-02-13
  • LNMP

    1、源码编译安装LNMP架构环境 OS版本:2.6.32-431.el6.x86_64 Nginx版本:nginx-1.6.1 mariadb版本:mariadb-10.0.13 php版本:php-5.4.26 1、安装编译安装所需系统环境 ~]# yum groupinstall "Development Tools" "S…

    Linux干货 2017-02-09