在 Bash 中,为什么“cat”和“ls”等命令实际上是预安装的,却被标记为外部命令?

在 Bash 中,为什么“cat”和“ls”等命令实际上是预安装的,却被标记为外部命令?

为什么命令是这样的

“ls”、“猫”、“触摸”、“rm”、“mkdir”

不是内部命令,当你安装 bash 时它们已经存在了?我觉得外部命令应该是可以从其他地方下载的命令。

答案1

因为这些命令不是bash.尽管它们默认在大多数系统上可用,但它们作为具有单独代码库的单独软件提供。如果删除它们,bash 仍将继续运行,不会出现任何问题。

同时bash具有内置工具,在 man 的内置部分中进行了描述(或这里)。这些都与外壳密不可分。

此外,shell 有一个限制模式,您无法执行“外部”命令,但内置命令仍然可以执行。

相关内容