在Bash中搜索文件

时间:2020-01-09 10:43:33  来源:igfitidea点击:

如何在Bash中搜索文件?
您可以使用以下命令在bash shell中搜索文件:

  • locate命令按名称查找文件。它读取由updatedb创建的一个或者多个数据库,并将与至少一个PATTERN匹配的文件名写入屏幕,每行一个。该文件可能不包含在过去12-24小时内创建的文件。
  • find命令实时搜索目录层次结构中的文件。

在bash中找到命令

要搜索名为xorg.conf的文件,请执行:

locate xorg.conf

输出示例:

/etc/X11/xorg.conf
/etc/X11/xorg.conf.backup
/etc/X11/xorg.conf.failsafe
/home/Hyman/Downloads/xorg.conf.txt
/usr/share/man/man5/xorg.conf.5.gz

不要在scree上写文件名,而只写匹配条目的数目,执行:

locate -c xorg.conf

输出示例:

5

忽略大小写匹配(即匹配foo.txt,FOO.TXT,foo.Txt等):

locate -i filename

一次只查找并限制搜索到一个文件:

locate -n 1 filename

一次只能查找并限制搜索到三个文件:

locate -n 3 filename

要搜索名称完全为NAME(不是* NAME *)的文件,请使用

locate -b '\FILENAME'

查找有关由updatedb命令创建的当前数据库的信息:

locate -S

输出示例:

Database /var/lib/mlocate/mlocate.db:
	35,411 directories
	2,79,320 files
	1,96,50,749 bytes in file names
	77,85,226 bytes used to store database

在bash中查找命令

基本语法如下:

find /path/to/dir -name "filename"

在此示例中,在/etc目录中找到httpd.conf文件:

find /etc -name "httpd.conf"

要在/nas/projects目录中找到所有头文件* .h,请执行:

find /nas/projects -name "*.h"