以下所有命令仅仅只做常见用法的介绍,不做详细的参数介绍
如需详细介绍,可到 https://man.linuxde.net 查阅
以下的显示结果均为使用 oh-my-zsh
的显示结果,如果是使用 bash
可能略有差异
注意:zsh 默认情况下不支持*
通配符匹配,需要在~/.zshrc
中添加setopt nonomatch
即可。
1. which
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
一般使用过程中直接使用which 命令
即可:
例如:
which python
# /usr/bin/python
2. whereis
whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
一般用来查找都在哪些目录
where bash
# bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
3. grep
grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
- 在文件中查找一个字符串(在
main.cc
中查找binary
)
grep "binary" main.cc
# Mat binary; (注意:此时的binary会标红显示)
# 如果是多个文件,后面添加文件名即可,在查找的位置前方会显示文件查找到文件的名称
# 比如说
grep "binary" main.cc demo.cc
# 类似这样:(在我的 shell 中,前面的 main.cc 标为紫色,binary 标为红色)
# main.cc: Mat binary;
# 当然 shell 中的 * 语法在这里也是适用的,例如匹配所有以 cc 为后缀的文件
grep "binary" *.cc
- 正则匹配(在
main.cc
中查找""
包裹起来的内容)
# 正则匹配适用 -E 关键字