文档章节

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

嗜学如命的小蚂蚁
 嗜学如命的小蚂蚁
发布于 2015/10/31 21:53
字数 1081
阅读 164
收藏 4

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

© 著作权归作者所有

共有 人打赏支持
嗜学如命的小蚂蚁
粉丝 137
博文 161
码字总数 100864
作品 0
郑州
程序员
Linux学习命令汇总八——find命令选项及特殊文件权限suid,sgid,sticky

本章Blog相关Linux知识点 find与grep的不同点: find为文件搜索命令——用来在指定目录下查找文件,而grep 为文本搜索命令——根据用户指定的文本模式对目标文件进行逐步搜索,显示能够被匹配...

Wish_亮
06/28
0
0
16个桌面Linux用户必须要知道的Shell命令

有些人仍然会有这中愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版。 Li...

王振威
2012/05/06
0
28
linux下grep、awk和sed工具用法概览

linux下grep、awk和sed工具用法概览 在linux下,grep、awk和sed是非常强大的文本处理工具,其中grep命令主要用作文本搜索,而awk和sed命令侧重于文本的编辑等操作,另外awk本身还可以是编程语...

小陶小陶
09/11
0
0
每个程序员都应该知道的8个Linux命令

每个程序员都应该知道的8个Linux命令 每个程序员,在职业生涯的某个时刻,总会发现自己需要知道一些Linux方面的知识。我并不是说你应该成为一个Linux专家,我的意思是,当面对linux命令行任务...

liangtee
2012/11/01
0
0
Linux查看系统信息的一些命令及查看已安装软件包的命令(转)

系统 # uname -a # 查看内核/操作系统/CPU信息 查看操作系统版本 查看CPU信息 查看计算机名 列出所有PCI设备 列出所有USB设备 列出加载的内核模块 查看环境变量 资源 # free -m # 查看内存使...

ymeng
2011/09/28
0
1

没有更多内容

加载失败,请刷新页面

加载更多

活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
24分钟前
1
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
28分钟前
1
0
905. Sort Array By Parity - LeetCode

Question 905. Sort Array By Parity Solution 题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序 思路:建两个list,一个放偶数,一个放奇数,最...

yysue
33分钟前
1
0
h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
50分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部