平时使用命令行要进行搜索相关的操作时,老是记不住 find 和 grep 命令的参数,这里记一下方便之后速查。

find

在 /home 目录下查找以 .txt 结尾的文件名

1
find /home -name "*.txt"

同上,但忽略大小写

1
find /home -iname "*.txt"

当前目录及子目录下查找所有以 .txt 和 .pdf 结尾的文件

1
find . -name "*.txt" -o -name "*.pdf"

匹配文件路径或者文件

1
find /usr/ -path "*local*"

找出/home 下不是以.txt 结尾的文件

1
find /home ! -name "*.txt"

根据文件类型进行搜索

1
find . -type 类型参数

类型参数列表:

  • f 普通文件
  • l 符号连接
  • d 目录
  • c 字符设备
  • b 块设备
  • s 套接字
  • p Fifo

grep

在文件中搜索一个单词,命令会返回一个包含 “match_pattern” 的文本行

1
grep "match_pattern" file_name

统计文件或者文本中包含匹配字符串的行数 -c 选项

1
grep -c "text" file_name

输出包含匹配字符串的行数 -n 选项

1
grep "text" -n file_name

在多级目录中对文本进行递归搜索

1
grep "text" . -r -n

参考自:Linux 命令搜索引擎