在Linux中如何找出命令的路径

所谓的术语“命令”基本上是一个二进制文件。
如果我们尝试使用任何编辑器读取这些文件中的任何一个,那么我们将无法理解任何内容,因为它不是人类可读的。
这些所有命令都与安装操作系统的相关软件包一起安装。

这些二进制文件大多位于以下 4 个位置

  • /bin
  • /usr/bin
  • /sbin
  • /usr/sbin.

我们可以手动使用 find 或者 locate 命令来查找上述位置中的命令,或者我们也可以使用下面的命令。

which命令

# which <command_name>

例如:

# which cp
alias cp='cp -i'
/bin/cp
# which useradd
/usr/sbin/useradd

假设在执行下面命令时报以下错误

# which samba

/usr/bin/which: no samba in (/usr/lib/qt-3.3/bin:/usr/local/sbin
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

这说明 PATH 变量不包含 samba 命令的路径。
在这种情况下,这不会找到命令的位置。

whereis 命令

因此,我们还可以是有以下命令

# whereis <command_name>

例如

# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz
日期:2020-06-02 22:18:31 来源:oir作者:oir