查找 shell 命令文件夹

查找 shell 命令文件夹

我想找出 Tcl 和 Tk 的文件夹位于哪里。

例如,我可以在控制台中运行tclshtclsh8.6。此 shell 命令应该指向一个文件夹,我可以在其中找到工具,对吗?

我如何找到它们?

答案1

  1. 在 Bash 上你可以使用

    command -v <your_file>
    

    查找可执行文件的位置(只要它是内置命令或 )$PATH。更准确地说,command -v打印 Bash 执行的命令。如果它是内置命令,它将只打印命令,因为没有二进制文件的位置。如果它是别名,它将打印别名定义。

  2. 您可以使用whereis。它会打印二进制文件、源代码和手册页的位置。从手册页

    [...]whereis然后尝试在标准 Linux 位置列表中找到所需的程序。

    如果您需要二进制文件的位置,只需使用

    whereis -b <your_file>
    
  3. locate是另一个选项。它搜索系统上的文件索引数据库,因此比真正搜索文件系统要快得多find。数据库通常通过 cronjob(每日?)定期更新,但可以触发更新以updatedb跟上最近的更改。

  4. 嗯,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.

相关内容