(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
(3)mlocate(locate) 命令用来查找文件或目录,速度快。一、find命令find 是文件层次的查找(包括子目录,就是对当前路径树查找)
-v:显示不包含匹配文本的所有行。2、grep -r 字符串(1)grep test d*#显示所有以d开头的文件中包含 test的行
递归查找文件,在路径/opt下(包括子目录),找出文件内容中含有字符串找我的文件。显示为路径和文件名。
查找出当前目录和子目录的文件名中含有name的文件即find查找出当前目录和子目录下的文件名,利用管道 交给grep过滤出含有name的那几行,间接查找出文件。
与 xargs 结合,可以传递各种选项来调整你的输出,并删除找到的那些文件。3. ll grep luoluo # 查找文件
类似find grep luoluo,只是不能递归查找子目录下的文件名4.rpm -qa grep 软件名 #查找安装的软件三、mlocate/locate 文件查找对于文件数量庞大的时候,可以使用此方法查找
Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。1、使用命令mlocate abc.txt #直接搜索文件
/usr/bin/locate #查询文件位置的程序(查询时是改程序运行,进行查找),也可能是mlocate。
第四行 排除检索的路径,且对路径下的子文件夹也不检索。5、关于mlocate和locate:
mlocate有一个近亲:slocate,它安全地( s 代表安全)记录了相关的文件权限,以防止非特权用户看到特权文件。此外,还有它们所起源的一个更老的,原始 locate 命令。
mlocate与locate和slocate的不同之处在于,在每次扫描文件系统,更新数据库时,mlocate 不需要持续重新扫描所有的文件系统。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘的占用也更少。
这是mlocate特有的功能。相反,它将其发现的文件(m代表合并)与现有的文件列表合并在一起,使其可以借助系统缓存从而性能更高、更轻量级。由于mlocate流行,所以也简称其为 locate。

