Skip to content

Latest commit

 

History

History
104 lines (66 loc) · 2.61 KB

06.0.md

File metadata and controls

104 lines (66 loc) · 2.61 KB

命令与文件的查询

有时候,我需要快速的定位某个文件或者某个字符串的位置,以便我们能快速的对其进行编辑。此时,就得用到一些查询命令将要编辑的文件的路径找出来,这样才能修改或者查看

脚本文件名的查询

  • 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
  1. 安装ack程序

第二章中,介绍了Homebrew,我们将使用Homebrew来安装ack

brew install ack
  1. 使用ack进行搜索

按文件名搜索

ack -lg test.js <== 搜索文件名中包含test.js的文件

按字符串搜索

ack test <== 搜索出所有包含test字符串的地方

ack -l test <== 搜索所有包含test字符串的文件
  • ag(又名the_silver_searcher)
  1. 安装ag程序

使用brew安装ag

brew install the_silver_searcher
  1. 使用ag进行搜索

按文件名搜索

ag -g Dockerfile <== 搜索所有文件名中包含Dockerfile的文件

ag -g Dockerfile ./programFile <== 在目录./programFile下搜索文件名包含Dockerfile的文件

按字符串搜索

ag docker <== 搜索出所有包含docker字符串的地方

ag -l docker <== 搜索所有包含docker字符串的文件

link