grep 正则表达式 find

1.显示当前系统上root,fedora 或user1用户的默认shell
[root@centos7 ~]# grep -E  “^(root|fedora|user1)” /etc/passwd
root:x:0:0:root:/root:/bin/bash
fedora:x:2003:2003::/home/fedora:/bin/bash
user1:x:2004:2004::/home/user1:/bin/bash
2.找出 /etc/rc.d/init.d/functions文件中某个单词后面跟一组小括号的行,形如:hello();
[root@centos7 ~]# cat /etc/rc.d/init.d/functions |grep -E “[[:alpha:]]{1,}\(\) “
checkpid() {
__kill_pids_term_kill_checkpids() {
__kill_pids_term_kill() {
__pids_var_run() {
__pids_pidof() {
daemon() {
killproc() {
pidfileofproc() {
3.使用echo命令输出一个绝对路径,使用grep取出莫个基名。
[root@centos7 fedora]# echo /home/fedora/|grep -E “[[:alpha:]]{1,}/$”
/home/fedora/
4.找出ifconfig命令结果中的1-255之间的数字。
[root@centos7 ~]# ifconfig|grep -E -o  “\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[1-5])\>”
5挑战题:写一个模式,能匹配合理的ip地址;
[root@centos7 ~]# ifconfig|grep -E -o  “\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[1-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[1-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[1-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[1-5])\>”
192.168.119.137
255.255.255.0
192.168.119.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255
6.挑战题:写一个模式,能匹配出所有的邮件地址;
[root@centos7 ~]# cat email |grep -E “^([0-9]|[a-zA-Z])([[:alnum:]]|[[:punct:]])+@[[:alnum:]]*\.(com|cn)$”
7.查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@centos7 var]# find /var/ -user root -a -group mail -ls
33701767    0 drwxrwxr-x   2 root     mail          105 Sep 17 07:19 /var/spool/mail
8.查找当前系统上没有属主或属组的文件;
进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的目录或文件;
[root@centos7 var]# find / \( -nouser -o -nogroup \) -atime +3 -ls
find: ‘/proc/7176/task/7176/fd/6’: No such file or directory
find: ‘/proc/7176/task/7176/fdinfo/6’: No such file or directory
find: ‘/proc/7176/fd/6’: No such file or directory
find: ‘/proc/7176/fdinfo/6’: No such file or directory
34754918    0 -rw-rw—-   1 1005     mail            0 Sep  2 11:28 /var/spool/mail/mandriva
18360951    4 -rw-r–r–   1 1005     distro         18 Aug  2  2016 /home/mandriva/.bash_logout
18360952    4 -rw-r–r–   1 1005     distro        193 Aug  2  2016 /home/mandriva/.bash_profile
18360953    4 -rw-r–r–   1 1005     distro        231 Aug  2  2016 /home/mandriva/.bashrc
34754923    4 -rw——-   1 1005     distro         11 Sep  2 11:30 /home/mandriva/.cache/abrt/lastnotification
18360956    4 -rw——-   1 1005     distro         24 Sep  2 12:13 /home/mandriva/.bash_history
9.查找/etc目录下所有用户都有写权限的文件;
[root@centos7 etc]# find /etc/ -perm /222 -type f -ls
10. 查找/etc目录下大于1M,且类型为普通文件的所有文件;
find /etc/ -size 1M  -type f -ls
 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87385

(0)
469008940469008940
上一篇 2017-09-18 16:09
下一篇 2017-09-18 19:58

相关推荐

  • 第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;          cp/etc/rc.d/rc.sysinit /tmp/     &nbs…

    2017-09-04
  • MAN 手册各章节功能介绍及快捷键键位整理

    man手册各章节功能介绍及快捷键键位整理 Linux系统提供了相对比较丰富的帮助手册(man),man是manual的缩写,是系统中提供相关条目参考信息的命令。 Ⅰ、man手册分为多个section 使用手册:压缩格式的文件,有章节之分; 存储位置/usr/share/man    man1,man2,man3,man4,man5,man…

    Linux干货 2016-10-16
  • 二维码的生成细节和原理

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。 关于QR Code…

    Linux干货 2016-08-15
  • 磁盘管理

    磁盘管理磁盘管理 本章内容 磁盘结构 分区类型 管理分区 管理文件系统 挂载设备 管理虚拟内存 设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一…

    Linux干货 2016-08-26
  • N21沉舟第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 方法一: #!/bin/bash         #     dec…

    Linux干货 2016-08-30
  • Redis应用场景

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发…

    Linux干货 2015-02-25