如果 which 和 whereis 命令都没有找到某个命令的原文件位置,可以尝试以下方法:
一、使用 type 命令
type 命令可以显示一个命令是内置命令还是外部命令,并给出其路径(如果是外部命令)。
例如:
type command_name
其中 command_name 是你要查找的命令名称。
如果输出显示是一个外部命令并且给出了路径,那么你就找到了该命令的位置。如果显示是一个内置命令,那么它通常是由 shell 本身提供的功能,不存在单独的可执行文件。
二、使用 locate 命令(如果系统安装了该命令)
locate 命令可以快速查找文件的路径。你可以尝试使用以下命令:
locate command_name
这可能会列出包含该命令名称的文件路径,但可能会有一些误报,需要进一步检查找到的路径是否确实是你要找的命令的位置。
三、搜索特定目录
如果知道命令可能位于某些特定的目录中,可以手动搜索这些目录。例如,很多系统命令通常位于 /bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin 和 /usr/local/sbin 等目录中。
可以使用 find 命令进行搜索,例如:
find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -name command_name
这将在指定的目录中搜索名为 command_name 的文件。
通过以上方法,你应该能够找到大多数命令的可执行文件位置。