我想找出 Tcl 和 Tk 的文件夹位于哪里。
例如,我可以在控制台中运行tclsh
或tclsh8.6
。此 shell 命令应该指向一个文件夹,我可以在其中找到工具,对吗?
我如何找到它们?
答案1
在 Bash 上你可以使用
command -v <your_file>
查找可执行文件的位置(只要它是内置命令或 )
$PATH
。更准确地说,command -v
打印 Bash 执行的命令。如果它是内置命令,它将只打印命令,因为没有二进制文件的位置。如果它是别名,它将打印别名定义。您可以使用
whereis
。它会打印二进制文件、源代码和手册页的位置。从手册页[...]
whereis
然后尝试在标准 Linux 位置列表中找到所需的程序。如果您需要二进制文件的位置,只需使用
whereis -b <your_file>
locate
是另一个选项。它搜索系统上的文件索引数据库,因此比真正搜索文件系统要快得多find
。数据库通常通过 cronjob(每日?)定期更新,但可以触发更新以updatedb
跟上最近的更改。嗯,
find
当然。find / -name <your_file>
尽管这可能需要相当长的时间。如果您知道文件必须位于 或 中的某个位置
/usr
,/opt
请将第一个参数替换为该参数或要搜索的任何路径列表。
答案2
我建议使用type
,它是大多数 shell 的内置功能。
type tclsh
从help type
:
Display information about command type.
For each NAME, indicate how it would be interpreted if used as a
command name.
或者,您也可以使用which
。
which tclsh
从man which
:
which returns the pathnames of the files (or links) which would be exe-
cuted in the current environment, had its arguments been given as com-
mands in a strictly POSIX-conformant shell. It does this by searching
the PATH for executable files matching the names of the arguments. It
does not follow symbolic links.