Ubuntu文件系统查找特定文件的常用方法
find命令(精准递归查找)find是Ubuntu下功能最强大的文件查找工具,可根据文件名、类型、大小、修改时间等多条件递归搜索,适合精确查找。
find [搜索路径] [选项] [表达式]-name选项,支持通配符(*匹配任意字符、?匹配单个字符)。find /home/user/Documents -name "*.pdf"(在Documents目录下查找所有PDF文件);find / -name "nginx.conf"(在全系统查找nginx.conf文件,需root权限)。-type选项,f表示普通文件、d表示目录、l表示符号链接。find /var/log -type f(查找/var/log下的所有日志文件);find ~ -type d -name "Downloads"(查找用户主目录下的Downloads文件夹)。-size选项,配合+(大于)、-(小于)、无符号(等于)及单位(k/KB、M/MB、G/GB)。find /tmp -size +100M(查找/tmp下大于100MB的文件);find . -size -10k(查找当前目录下小于10KB的文件)。-mtime(修改时间,单位:天)、-atime(访问时间)、-mmin(修改时间,单位:分钟)。find /home/user -mtime -7(查找用户主目录下7天内修改过的文件);find /etc -mmin -30(查找/etc下30分钟内修改过的配置文件)。-maxdepth(最大深度)、-mindepth(最小深度),避免全盘扫描。find /home/user -maxdepth 2 -name "*.txt"(仅在user目录及子目录下查找TXT文件,最多递归2层)。locate命令(快速数据库搜索)locate通过预先构建的数据库(/var/lib/mlocate/mlocate.db)实现秒级查找,但数据库不会实时更新(默认每天自动更新),适合查找已知名称的文件。
locate [文件名](支持通配符)。locate "example.txt"(查找所有包含example.txt的文件路径)。sudo updatedb(需root权限)。find和locate)、内容搜索(正则表达式)、过滤条件(文件类型、大小、修改时间)。安装:sudo apt install catfish,启动后输入关键词即可搜索。Ctrl+F)快速查找文件。支持全局搜索(Ctrl+Shift+F,需root权限)、过滤条件(文件类型、大小、修改时间)。which命令:查找可执行文件的位置(在$PATH环境变量指定的目录中搜索)。which python3(查找python3的可执行文件路径,如/usr/bin/python3)。whereis命令:查找二进制文件、源代码、手册页的位置(仅适用于程序相关文件)。whereis gcc(查找gcc的二进制文件、源代码和手册页路径)。