知识分享之Linux——find文件搜索命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识分享之Linux——find文件搜索命令相关的知识,希望对你有一定的参考价值。

参考技术A 日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

在Linux中我们经常需要查找一些文件或者根据文件内容进行查找到底在哪些文件里面,这时就需要用到本节要讲到的find命令了,这个命令可以让我们进行查找到想要的文件,话不多说下面直接开始本节的干货。

1、查找当前目录下的指定文件(当前目录向下无限极)

2、全文搜索符合于文件名的

3、不区分大小写文件名的搜索

4、列出当前目录及子目录下的所有文件

5、查找近10天内被更新过的文件(-ctime 天 -cmin分钟 )

6、根据文件内容查找文件

7、在特定文件类型下根据文件内容查找文件

以上就是我整理的常用的查询文件命令,整理出来供大家一起使用,有需要补充的欢迎在留言区进行留言补充,谢谢大家~~~

Linux常用命令之文件搜索命令

find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法

find [搜索范围][匹配条件]

实例

$find /etc -name init(在目录/etc中查找文件init)
$find /etc -name *init*(在目录/etc中查找包含init的文件)
$find /etc -iname init(在目录/etc中查找文件init或INIT)
$find / -size +204800(在根目录下查找大于100MB的文件,+n大于,-n小于,n等于)
$find /home -user bbb(在根目录下查找所有者为bbb的文件,-group根据所属组查找)
$dind /etc -cmin -5(在/etc下查找5分钟内被修改过属性的文件和目录,-amin访问世家你access,-cmin文件属性change,-mmin文件内容modify)
$find /etc -size +163840 -a -size -204800(在/etc下查找大于80MB小于100MB的文件,-a表示两个条件同时满足,-o表示两个条件满足任意一个即可)
$find /etc -name inittab -exec ls -l {};(在/etc下查找inittab文件并显示其详细信息)

locate/slocate命令

locate命令slocate命令都用来查找文件或目录。

locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

语法

locate/slocate(选项)(参数)

选项

-d<目录>或--database=<目录>:指定数据库所在的目录;
-u:更新slocate数据库;
--help:显示帮助;
--version:显示版本信息。

参数

查找字符串:要查找的文件名中含有的字符串。

实例

搜索etc目录下所有以sh开头的文件:

locate /etc/sh

搜索用户主目录下,所有以m开头的文件:

locate ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写:

locate -i ~/m

which命令

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

语法

which(选项)(参数)

选项

-n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径;
-w:指定输出时栏位的宽度;
-V:显示版本信息。

参数

指令名:指令名列表。

实例

查找文件、显示命令路径:

[root@localhost ~]# which pwd
/bin/pwd

[root@localhost ~]#  which adduser
/usr/sbin/adduser

说明:which是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!





以上是关于知识分享之Linux——find文件搜索命令的主要内容,如果未能解决你的问题,请参考以下文章

知道你用linux可视文件系统为什么搜索不到文件吗?(隐藏文件夹搜不到!!要用find . -name “xxx“命令)

linux之查找命令find,locate

Linux常用命令3 文件搜索命令

4-3 linux中find文件搜索命令

Linux基础教程 linux中使用find命令搜索文件常用方法记录

Linux学习第八篇之文件搜索命令find