有时候,我需要快速的定位某个文件或者某个字符串的位置,以便我们能快速的对其进行编辑。此时,就得用到一些查询命令将要编辑的文件的路径找出来,这样才能修改或者查看
- which (寻找“执行文件”)
which [-a] command
参数:
-a: 将所有PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称
which ifconfig
这个命令时根据PATH
这个环境变量所规范的路径去查询“执行文件”的文件名。所以,重点是找出执行文件而已!且which后面接的是完整文件名。若加上-a参数,则可以列出所有的可以找到的同名执行文件,而非仅显示一个而已。
- whereis
whereis [-bmsu] 文件或目录名
参数:
-b: 只着二进制格式的文件
-m: 只找在说明文件manual路径下的文件
-s: 只找source源文件
-u: 查找不在上述三个选项当中的其他特殊文件
whereis ifconfig
whereis是一个很方便又快速的查找命令。常用在我们定位某些运行环境的安装目录中,例如:你想知道本机的java安装在哪个目录下了,你可以通过执行whereis java
找到
下面,我想给大家介绍一下如何在Mac系统下快速的查找文件。
虽然,系统原生提供了find
命令,用来给大家查询文件使用,但是find命令比较复杂而且效率低,速度慢。因此我推荐大家在Mac系统下使用ack
或者ag(the_silver_searcher)
进行文件搜索
- ack
- 安装ack程序
第二章中,介绍了Homebrew,我们将使用Homebrew来安装ack
brew install ack
- 使用ack进行搜索
按文件名搜索
ack -lg test.js <== 搜索文件名中包含test.js的文件
按字符串搜索
ack test <== 搜索出所有包含test字符串的地方
ack -l test <== 搜索所有包含test字符串的文件
- ag(又名the_silver_searcher)
- 安装ag程序
使用brew安装ag
brew install the_silver_searcher
- 使用ag进行搜索
按文件名搜索
ag -g Dockerfile <== 搜索所有文件名中包含Dockerfile的文件
ag -g Dockerfile ./programFile <== 在目录./programFile下搜索文件名包含Dockerfile的文件
按字符串搜索
ag docker <== 搜索出所有包含docker字符串的地方
ag -l docker <== 搜索所有包含docker字符串的文件
-
上一节一个有趣的demo
-
下一节Mac下常用开发软件推荐