在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"