MacOS下如何通过命令搜索文件和打开文件

本文介绍find、locate、mdfind等命令的使用方法,帮助您高效地在Linux和macOS系统中查找文件。涵盖精确查找、模糊匹配及内容搜索等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

find 命令

注意事项:
1.必须输入 sudo,表示以管理员权限执行命令,否则很多目录无法访问
2.必须指定查找的目录
3.可以加双引号,也可以加单引号,也可以不加任何引号
4.支持通配符
5.不加通配符,默认是精确查找

查找名称含有指定关键词的文件和目录

liaowenxiongdeMacBook-Air:test liaowenxiong$ sudo find / -iname '*navicat*'
Password:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/navicat-for-oracle.rb
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/navicat-premium-essentials.rb
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/navicat-data-modeler.rb
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/navicat-premium.rb

注:iname 表示不区分名称中字符的大小写

locate 命令

在 Linux 系统下使用 updatedb 命令可以更新 locate 命令索引数据库,而在 macOS 下却找不到 updatedb 这个程序。更新 locate 数据库的updatedb 程序是:/usr/libexec/locate.updatedb,locate 数据库位置在:/var/db/locate.datebase

注意:
1.不需要指定查找的目录
2.默认无法检索用户主目录下的内容
3.搜索的关键词可以加双引号,也可以加单引号,也可以不加任何引号
4.支持通配符检索
5.默认是模糊检索

使用命令前先更新本地的索引数据库,输入下面命令:

sudo /usr/libexec/locate.updatedb

为了省去路径,可以给程序创建别名,打开用户主目录下的配置文件:

vim ~/.bashrc

输入下面的语句:

alias updatedb='/usr/libexec/locate.updatedb'

保存退出即可。那么以后只要在命令终端输入别名 updatedb,就会执行程序 /usr/libexec/locate.updatedb

查找以指定字符串结尾的文件路径

例如,查找以 ufsd_NTFS.fs 结尾的文件路径,命令如下:

liaowenxiongdeMacBook-Air:libexec liaowenxiong$ locate *ufsd_NTFS.fs
/Library/Filesystems/ufsd_NTFS.fs

查看命令 locate 的使用说明

输入:

man locate

使用说明文档还指明了相关文件的具体位置,如下所示:
在这里插入图片描述

mdfind 命令

mdfind 命令就是 Spotlight 功能的终端界面。所以如果 Spotlight 被禁用,mdfind 命令也将无法工作。查看命令 mdfind 的在线使用说明文档请输入:

man mdfind

注意:
1.可以加双引号,也可以加单引号,也可以不加任何引号
2.不支持通配符
3.搜索词中不能含有叹号
4.默认就是模糊搜索

查找名称中含有指定关键词的文件

例如,搜索名字中包含 icon64 的文件

mdfind -name icon64

搜索内容中包含指定关键词的文件

mdfind hangge.com

注意:可以加双引号,也可以加单引号,也可以不加任何引号

在指定目录中搜索内容包含指定关键词或者名称含有指定关键词的文件

liaowenxiongdeMacBook-Air:test liaowenxiong$ mdfind -onlyin ~/Documents txt
/Users/liaowenxiong/Documents/IdeaProjects/java-practise/annotation/src/priv/lwx/javaprac/annotation/demo/CheckTest.java
/Users/liaowenxiong/Documents/IdeaProjects/java-practise/bug.txt
/Users/liaowenxiong/Documents/IdeaProjects/java-practise/outputstream/src/priv/lwx/javaprac/printstream/Demo02PrintStream.java

会在指定目录及其所有的子目录中查找。

搜索并将结果输出到文件中

mdfind liao88 > ~/Desktop/find.txt

注意:
1.文件不存在会自动创建文件
2.文件已经存在使用 > 会覆盖原有的内容;使用 >> 则是追加内容

open 命令

终端中使用 open 命令可以打开指定文件。

open /Users/hangge/Documents/Code/hangge_532/hangge_532/AppDelegate.swift
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值