Linux查看当前命令路径
Linux查看当前命令路径详细介绍
在 Linux 中查看当前命令的路径,可以根据命令类型(普通可执行文件、Shell 内置命令)使用不同的方法,以下是常用的几种方式:
1.
查看普通可执行命令的路径(非内置命令)
使用 which 命令,它会返回命令在 PATH 环境变量中匹配的第一个可执行文件的绝对路径。
语法:
bash
命令名
示例:
bash
python3
2.
查看命令的完整路径(包括二进制文件、手册、源代码)
使用 whereis 命令,它会返回命令相关的所有文件路径(可执行文件、手册页、源代码等)。
语法:
bash
命令名
示例:
bash
python3
3.
判断是否为 Shell 内置命令(并查看类型)
如果命令是 Shell 内置命令(如 cd、echo、pwd 等),which 和 whereis 可能无法找到路径,此时需用 type 命令。
语法:
bash
命令名
- 输出说明:
- 若为普通命令:显示路径(同
which)。 - 若为内置命令:显示
builtin(如cd是内置命令)。 - 若为别名(alias):显示别名定义。
- 若为普通命令:显示路径(同
示例:
bash
4.
查看当前脚本中命令的相对路径(针对脚本内命令)
如果在脚本中获取当前执行命令的路径,可使用 $0 变量(表示脚本自身路径),或结合 readlink -f 转换为绝对路径:
bash
"readlink $0"
总结
- 普通命令:用
which 命令名获取绝对路径。 - 内置命令:用
type 命令名确认(无实际文件路径,由 Shell 直接执行)。 - 全面信息:用
whereis 命令名查看所有相关文件路径。
如果命令未找到,可能是因为:
- 命令不在
PATH环境变量中(可通过echo $PATH查看路径)。 - 命令是别名或函数(用
type 命令名确认)。