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

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

时间: 2024-08-03 19:24:56

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

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Linux 基础——文件搜索命令find

一.find命令的好处 有时会经常在目录下找文件或目录的具体存放在哪,但是该目录下的文件又很多不好找出.这时并不需要手动查看所有的文件,用find命令来帮助查找就行了.所以文件或目录一定归好类,存放有序,这样找起来会方便许多.如果遇到网络高峰期,尽量少用find命令,网络高峰期查找会慢许多. 二.find命令格式及常用命令 命令格式: find [dest_dir] [options] pattern 参数说明: (1)[dest_dir]:指定的目录,如果不写则在当前目录. (2)[optio

小蚂蚁学习Linux(4)——链接命令ln、文件搜索命令locate、whereis和which

链接命令ln    (取自link之意) ln  [源文件]    [目标文件]    功能:生成链接文件.    -s 创建软连接 ,不加是创建硬链接 硬链接的特征: 1. 拥有相同的i节点和存储block快,可以看做是同一个文件. 2. 可通过i节点识别 3. 不能跨分区 4. 不能针对目录使用 备注:硬链接只要不把所有文件名删除,删除其中一个不影响其他文件名的使用. 需要注意的是,不建议只用硬链接: 1. 硬链接太过隐蔽,只能通过查看inode节点id号识别 2. 自身的限制也比较多. 替

Linux学习日志--文件搜索命令

开头总结: 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的区别和用法格式,什么是path环境变量以及其好处,whereis和which的用法,区别在于查询系统命令内容的不同,grep和find的区别,为什么要引入通配符? 什么情况下用通配符还是正则表达式? Locate文件搜索命令: 1)格式: Locate [文件名] 2)更新数据库 updatedb 好处: 相对于find命令来说,Loca

Linux学习之文件搜索命令

1.文件搜索命令 find 2.find命令常用选项:根据文件名.文件大小.所有者.所属组 进行查找 find / -name init 表示全盘搜索init文件或目录.注意 /表示全盘  .表示当前目录 Linux里面的文件搜索是精准搜索的,如果要进行模糊匹配,需要使用通配符,例如: find /etc -name *init* 表示查找文件名包含init字符的文件.*表示匹配任意个字符. find /etc -name *init 表示查找文件名以init结尾的文件. find /etc -

LInux 文件搜索命令

文件搜索命令  locate 优点:搜索速度很快 缺点: 只能搜索文件名(速度快 耗费资源少) localte  文件名 (在后台数据库中按文件名 搜索,搜索速度快  localte 命令并不是在系统中去搜索 ) 而是会在 /var/lib/mlocate  后台数据库  (#locate 命令所搜索的后台数据库 该数据库是一天一更新) updatedb  可以立刻更新数据库 locate 搜索时: 按照配置文件来进行搜索  /etc/updatedb.conf 配置文件 # 开启搜索限制 pr

Linux自学第二天(权限管理命令、文件搜索命令、帮助命令)

添加用户两步走:1.useradd username   2.passwd ps  权限管理命令 命令名称:chmod  ->>change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{u g o} {+-=}{rwx}][文件或目录] [mode = 421] [文件或目录] +:增加权限 -:减少权限 =:直接赋予权限 掌握的重点是用数字的方式进行权限控制,r=4 w=2 x=1. rwxr-x

Linux常用命令(第二版) --文件搜索命令

文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到命令的绝对路径 与whereis不同,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置 2.find /usr/bin/find #查找文件或目录,任何文件皆可,如图片,压缩包等 语法:find [搜索路径] [搜索选项] filename a) find /e

Linux常用命令-文件搜索命令find

文件搜索命令find 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 功能描述:文件搜索 -name 根据文件名搜索 例:find /etc/ -name init 模糊搜索使用通配符* find /etc -name *init* 匹配单个字符使用通配符? find /etc -name init?? -iname 根据文件名搜索(不区分大小写) -size 在目录下根据文件大小查找 例:find / -size +2048