文档章节

小蚂蚁学习Linux(5)——文件搜索命令find和grep(重要)

嗜学如命的小蚂蚁
 嗜学如命的小蚂蚁
发布于 2015/10/31 21:53
字数 1081
阅读 163
收藏 4
点赞 0
评论 0

find 命令    find    【搜索范围】 【搜索条件】

例如:    find    /    -name    install.log    意思:在根目录下查找文件名为install.log的文件。

注意:

    1. 在生产服务器上应避免这种大范围的搜索,会非常耗费系统资源。

    2. find搜索的文件名必须是一模一样的才能找到,要想进行模糊搜索,就要使用通配符,能够识别的通配符有三种,分别是:    *    ?    []    (这三个通配符的功能和作用貌似在各种语言中都是通用的,详细介绍请参考博文:http://my.oschina.net/woshixiaomayi/blog/507939

find命令的三个常用选项:

    -iname    不区分大小写查找    如:    find    /root    -iname    install.log

    -user      按照所有者搜索(不太常用)  如:    find    /root    -user    root    所有者是root的文件有哪些

    -nouser    搜索没有所有者的文件(这个很实用)    如:    find    /root    -nouser    解释一下哈:一般来说,没有所有者的文件就是垃圾文件,但是有两个特殊情况需要特别注意一下:

    1.    由内核产生的无所有者文件,是很重要的,不能删除,例如:根目录下的proc,sys两个目录中的文件。

    2.    外来文件,如:U盘,光盘等从windows中拷贝而来的文件。window中不是没有所有者这个概念,而是因为它忽略了这个概念。

find    按照文件修改时间查找

find    /var/log    -mtime    +10    查找10天前修改的文件

选项:    -atime    文件访问时间

            -ctime    改变文件属性的时间

            -mtime    修改文件内容的时间

时间段介绍:    -10  10天以内修改的文件

                      10    第10天当天修改的文件

                      +10    10天以前修改的文件

    过去的时间段知道怎么表示了,那么未来10天怎么表示呢?你开玩笑的吧!知道未来的事,我就去买彩票了,谁还在这里写博客……

find    按照文件大小查找    find    .    -size    25k    查找当前目录下文件大小等于25k的文件。

-25k    小于25k的文件

25k     等于25k的文件

+25k    大于25k的文件

注意:按照文件大小查找的时候有个要点,值得注意一下,不然会出错:kb的时候一定要小写,如25k;mb的时候一定要大写,如:25M。唉,Linux的开发人员也是逗我们玩……

通过i节点查找文件    find    /root    -inum    123456    其实,这个命令跟ls    -i    命令有些互补,前者可以通过i节点查找文件名,后者是通过文件名查看i节点。

find    命令还可以使用逻辑判断

find    /etc    -size    +20k    -a    -size    -50k    

含义:查找/etc文件下大于20k并且小于50k的文件。逻辑与,两个条件必须都要满足。

find    /etc    -size    +20k    -o    -size    -10k

含义:查找/etc文件下大于20k或者小于10k的文件。逻辑或,两个条件满足其中一个即可。

下面说一个重要的知识点:

    find    /etc    -size    +20k    -a    -size    -50k    -exec ls -lh {}\

    含义: 查找/etc文件下大于20k并且小于50k的文件,并且把查询到的文件,以长格式和人性化文件大小显示出来。

    固定格式    -exec <命令>    {}\    这里的命令,是对之前查询出来的结果的操作。

    再例如:    find    /etc    -size    +20k    -a    -size    -50k    -exec rm -rf {}\    将查找出来的文件删除,很方便吧,假如查找出来10000个文件,不会这个命令,就等着哭吧,但是有了这个命令就会so easy,老板再也不怕你删不完文件。

grep命令

grep    【选项】    字符串    文件名        在文件当中匹配符合条件的字符串

选项:    -i    忽略大小写    -v    排除指定字符串(相当于反选)

如:    grep    ‘hello world’    abc.php    在abc.php中查找包含了hello world的行并返回。

那么总结一下,find和grep的区别:

    find命令:在系统当中搜索,符合条件的文件名。

    grep命令:在文件当中搜索,符合条件的字符串。


学PHP的小蚂蚁  博客  http://my.oschina.net/woshixiaomayi/blog

© 著作权归作者所有

共有 人打赏支持
嗜学如命的小蚂蚁
粉丝 136
博文 161
码字总数 100864
作品 0
郑州
程序员
如何在 Linux 中查找文件

使用简单的命令在 Linux 下基于类型、内容等快速查找文件。 如果你是 Windows 或 OSX 的非资深用户,那么可能使用 GUI 来查找文件。你也可能发现界面受限,令人沮丧,或者两者兼而有之,并学...

作者: Lewis Cowles ⋅ 04/28 ⋅ 0

在 Linux 上寻找你正在寻找的东西

怎样在 Linux 系统上使用 find、locate、mlocate、which、 whereis、 whatis 和 apropos 命令寻找文件。 在 Linux 系统上找到你要找的文件或命令并不难, 有很多种方法可以寻找。 find 最显然...

作者: Sandra Henry-stocker ⋅ 05/09 ⋅ 0

小蚂蚁学cURL笔记(1)

cURL的作用:网络上的所有资源都可以用cURL访问和下载。 如何在window下确认是否支持cURL。cmd——》输入命令 php -i 通过搜索找到curl 在linux下的检测方法。 输入命令行 php -i | grep cu...

嗜学如命的小蚂蚁 ⋅ 2015/09/14 ⋅ 0

软件测试人员在工作中如何运用Linux

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你...

软件测试网 ⋅ 04/23 ⋅ 0

Linux 中如何快速查看 C 库函数的头文件、库文件

Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息? 使用man帮助或grep 1)man命令 函数名,则能够打印该函数的所有说明,当然这个函数必须是Linux-C本身就有的函数。 2)grep "key...

byxdaz ⋅ 05/20 ⋅ 0

零基础怎么学Linux?Linux学习攻略

不知道文章面前的你是怎样计划你的Linux学习的。如今有很多关于Linux的书籍,博客。大多数都会比较“粗暴“的将一大堆的命令塞给读者,从而使很多Linux初学者望而却步,未入其门就路过了。所...

长沙千锋 ⋅ 05/14 ⋅ 0

Linux系统运维常见面试简答题系列(一)(15题)

Linux系统运维常见面试简答题系列(一)(15题) 如内容有不正之处,烦请给予指正,谢谢! 1、请描述下linux 系统的开机启动过程 开机加电BIOS自检———–>MBR引导———–>grub引导菜单——...

代金券优惠 ⋅ 06/07 ⋅ 0

linux\mac 日常入门命令行使用——搜索文件\文件夹

linuxmac 日常入门命令行使用——搜索文件文件夹 搜索文件或者文件夹,是一个常见的需求。我们可以用多种命令来实现我们的需求。 find 命令实现搜索 是英文,寻找的意思。这个命令可以很方面...

FungLeo ⋅ 2017/11/09 ⋅ 0

《Essential Linux Device Drivers》中文版第1章

By 宋宝华 / 本系列文章交流与讨论:xhehref="http://weibo.com/21cnbao" href="http://weibo.com/21cnbao" target="_blank">@宋宝华Barry Linux 具有诱人的魅力,它是一个由全世界不同民族、...

21cnbao ⋅ 2012/09/17 ⋅ 0

Redis、Jmeter、MySQL的那些事

前言 毕业答辩告一段落,接下来好好努力工作。 Redis遇到的一些问题 这是redis的保护机制,连接redis只能是127.0.0.1这个ip,我们远程连接是拒绝的。所以我们需要在redis.conf进行如下配置。...

cmazxiaoma ⋅ 05/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

骰子游戏代码开源地址

因为阿里云现在服务器已经停用了,所以上面的配置已经失效。 服务端开源地址:https://gitee.com/goalya/chat4.git 客户端开源地址:https://gitee.com/goalya/client4.git 具体运行界面请参考...

算法之名 ⋅ 32分钟前 ⋅ 0

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部