find和grep命令练习

                                find和grep命令练习

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

  • ~]# cat /etc/passwd | egrep "^(root|fedora|user)" | cut -d: -f7

  • /bin/bash

  • /bin/bash

  • /bin/bash

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

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

  • checkpid() {

  • daemon() {

  • killproc() {

  • pidfileofproc() {

  • pidofproc() {

  • status() {

  • success() {

  • failure() {

  • passed() {

  • warning() {

  • action() {

  • strstr() {

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

  • ~]# echo /etc/rc.d/init.d/functions | cut -d"/" -f5

  • functions

  • 扩展:取出其路径名

  • ~]# echo /etc/rc.d/init.d/functions |egrep -o ".*t.d/"

  • /etc/rc.d/init.d/

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

  • ~]# ifconfig | egrep -o "[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]"

  • 167

  • 77

  • 73

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

  • ~]# ifconfig | egrep -o '[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'

  • 192.168.0.7

  • 255.255.255.0

  • 127.0.0.1

  • 255.0.0.0

  • 192.168.122.1

  • 255.255.255.0

  • 192.168.122.255

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

  • ~]# egrep "^[[:alnum:]]+@[[:alnum:]]+.[[:alnum:]]+$"

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

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

  • 2752708 4 drwxrwxr-x 2 root mail 4096 10月 17 12:44 /var/spool/mail

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

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

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

  • ~]# find -nouser -o -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

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

(4)
shiyekunshiyekun
上一篇 2016-10-23 22:22
下一篇 2016-10-23 23:20

相关推荐

  • RAID级别介绍

    raid分为软raid和硬raid,一般公司使用硬raid,数据无价。 存数据都是先存到内存,后同步到硬盘,为提高raid卡的性能会在raid嵌入内存颗粒。 但是问题是断电后内存的数据没有同步到硬盘会丢失,这样就会有raid卡电池。(raid卡必须有raid电池) 计算机只识别raid卡,不会识别raid卡下有几块硬盘 raid 0:  (条带式)…

    Linux干货 2016-03-22
  • 进程管理

    一、进程概述 1、进程的概念        用户通过执行命令,将程序提起到内存中运行,运行中的程序即称为进程。内核为了方便管理,根据内核发起者的权限、属性等参数,为每个进程设置一个独立的PID号,通过PID号来判断进程的权限。 2、进程的分类:    &nbs…

    Linux干货 2016-09-07
  • DHCP使用帮助

    bootp 想要通过tcp/ip模型进行网络通信需要有一个ip地址,IP地址是属于操作系统的,所以没有操作系统就没有ip 为了解决这种问题,有一种网卡可以不需要操作系统就能获取到ip bootp:只有第一次是动态获得,以后ip地址就是和mac地址绑定的,不能分配给其他主机 DHCP:DHCP是bootp的改进版,主要引入了租约的定义 DHCP也可以根据mac…

    Linux干货 2016-11-11
  • 用shell脚本实现每天定时收集全网日志到一台服务器

    需求 现在公司有这样一个需求,需要收集每天全网运行业务的设备上的某个特定目录底下的日志到一台服务器(这台服务器我们简称logserver),这并在这台logserver上生成以日期为名字的目录 解决思路: 在logserver的crontab里设置两个脚本,在当日晚上23:30执行脚本1收集当日即将被删除的全网脚本;在并在早上8:30执行脚本2,收集昨日全网…

    Linux干货 2015-07-27
  • 逻辑卷的创建与移除

    一、弹性控制磁盘大小的lvm:     假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系…

    Linux干货 2016-08-30
  • Linux终端类型

    Linux终端类型 关键字:linux终端,串行终端ttySn;伪终端pty;控制终端tty;控制台终端console 要想与Linux打交道,就必须学会使用Linux终端。所谓Linux终端,其实也就是一种控制台,一种字符设备,通常用tty标识,它是用户和Linux内核交互的平台,用户能在平台上通过各种指令操作Linux。终端的特殊设备文件一般分为以下几种…

    Linux干货 2016-10-19