📅  最后修改于: 2023-12-03 14:55:56             🧑  作者: Mango
Shell是一种命令行解释器,用于在Unix系统中与系统交互。它是大多数Linux发行版和macOS的默认Shell,也可以在Windows系统中使用。Bash是Shell的一种实现,是Linux系统中默认使用的Shell。
当我们在终端中运行ls
命令时,Shell会在文件系统中查找可执行文件,以执行我们提供的命令。在Linux系统中,这些可执行文件通常位于/bin
目录下。因此,在我们运行ls
命令时,实际上是在/bin
目录下找到名为ls
的可执行文件。
为了使Shell能够找到这些可执行文件,Linux系统通过环境变量$PATH
提供一个搜索路径列表。当我们运行ls
命令时,Shell会按照$PATH
中列出的顺序搜索目录,直到找到可执行文件为止。默认情况下,在Linux系统中,/bin
目录在$PATH
中的优先级最高,因此Shell会首先在该目录中查找可执行文件。
在我们打开终端时,Shell会自动将$PATH
设置为默认值。如果我们想要向$PATH
中添加其他目录,可以通过修改环境变量来实现。例如,在.bashrc
文件中添加以下行:
export PATH=$PATH:/home/user/custom-bin
这将把/home/user/custom-bin
目录添加到$PATH
中,并允许我们在该目录下使用自定义的命令。
总之,当我们在终端中运行ls
命令时,Shell会在$PATH
中搜索可执行文件。在大多数情况下,ls
命令可执行文件位于/bin
目录下,因此我们可以在任何时候使用ls
命令。