linux中执行的命令去哪儿了
-
在Linux中,执行的命令通常位于系统的可执行文件路径中。系统会根据环境变量PATH的设置来查找命令所在的路径。当我们在终端输入一个命令时,系统会按照以下步骤来进行查找:
1. 查找当前目录:首先系统会在当前所在的目录查找命令是否存在。
2. 查找环境变量PATH中的路径:如果命令在当前目录中不存在,系统会按照环境变量PATH中的路径进行查找。PATH是一个由冒号分隔的目录列表,系统会按照列表的顺序逐个查找路径中是否存在命令。
3. 执行命令:当找到命令所在的路径后,系统会执行该命令。一般来说,系统的可执行文件路径包括以下几个常用的路径:
– /usr/local/bin:这个路径中一般包含用户自己安装的软件的可执行文件。
– /usr/bin:这个路径中包含系统安装的大部分基本命令。
– /bin:这个路径中包含一些必要的系统命令,如ls、cp等。
– /sbin:这个路径中包含一些只能由root用户执行的系统命令。
– /usr/sbin:这个路径中包含一些只能由root用户执行的系统命令,与/sbin类似。可以使用命令echo $PATH来查看当前系统的可执行文件路径列表。
总之,在Linux中,执行的命令会根据环境变量PATH的设置在路径中进行查找。系统会按照路径列表的顺序逐个查找,直到找到命令所在的路径,然后执行该命令。
2年前 -
在Linux中执行的命令被存储在系统中的可执行文件路径中。当我们在终端中输入命令时,系统会按照一定的顺序搜索这些路径,找到对应的可执行文件,并执行该命令。
以下是Linux中命令执行的过程及相关内容:
1. 可执行文件路径($PATH):Linux系统会将一系列目录路径存储在一个环境变量$PATH中,每个路径之间用冒号隔开。当我们在终端输入命令时,系统会按照$PATH中定义的路径顺序进行搜索,直到找到对应的可执行文件。可以通过命令`echo $PATH`查看$PATH的值。
2. 内置命令:Linux中有一些常用的命令是作为Shell的内置命令存在的,这些命令不需要从可执行文件路径中查找,而是直接由Shell解释和执行。例如`cd`和`echo`等。
3. 执行权限:要执行一个命令,我们需要检查该命令的执行权限。在Linux中,每个文件都有一组权限,用于控制文件的读、写和执行操作。只有具有执行权限的文件才可以作为命令进行执行。可以使用`ls -l`命令查看文件的权限信息。
4. 系统命令:Linux系统会提供一些常用的命令,这些命令的可执行文件通常存储在系统的标准路径下,如`/bin`、`/sbin`、`/usr/bin`、`/usr/sbin`等。这些路径通常被包含在$PATH中,所以我们可以在终端直接执行这些系统命令。
5. 自定义命令:除了系统命令,我们还可以在Linux中自定义命令。为了执行自定义命令,我们需要将可执行文件放置在$PATH中可以搜索到的目录下,或者将目录添加到$PATH中。我们可以使用`chmod +x
`命令为自定义命令添加执行权限,并使用`sudo mv /usr/local/bin/`将其移动到一个可以搜索到的目录下。 总结起来,Linux中执行的命令是由系统按照$PATH中定义的路径顺序进行搜索的。系统命令存储在标准路径下,自定义命令可以存储在$PATH中的任意路径下。要执行一个命令,文件需要具有执行权限,并且该命令需要满足搜索路径和文件名的匹配条件。
2年前 -
当在Linux中执行命令时,命令会按照一定的流程在系统中执行,包括以下几个步骤:
1. 用户输入命令:用户在终端中输入相应的命令,并按下回车键提交。
2. Shell解析命令:Shell会接收到用户输入的命令,并对其进行解析。Shell是一个命令行解释器,它会解析命令的语法,分解出命令名称、命令参数、重定向符号等信息。
3. 查找命令位置:Shell会根据命令名称查找命令所在的位置。Linux系统中的命令通常位于系统的PATH(环境变量)所指定的路径下,Shell会按照PATH的顺序依次搜索。一旦找到对应的命令文件,Shell就会准备执行该命令。
4. 执行命令:Shell通过创建进程的方式执行命令。它会调用fork函数创建一个新的子进程,然后在子进程中调用exec函数执行命令。执行命令的过程中,子进程会复制父进程的代码段、数据段和堆栈段,并加载新的命令的代码,然后取代自身的进程映像。执行命令的结果会显示在终端上。
5. 命令输出重定向:在执行命令的过程中,还可以使用重定向符号将命令的输出重定向到文件或者其他命令。重定向可以通过修改文件描述符到目标文件或者管道来实现。
6. 命令结束:当命令执行完毕后,进程会退出并返回控制权给用户。
在Linux系统中,执行的命令是一个可执行文件。Linux系统上的命令一般是以二进制文件的形式存储在文件系统中的,比如/bin、/usr/bin等目录下。当用户输入命令时,Shell会根据PATH环境变量的值在这些目录中搜索对应的命令文件。一旦找到命令文件,Shell就会执行该文件并显示输出结果。
此外,在Linux系统中,还可以使用which命令来查找一个命令所在的位置。which命令会根据PATH环境变量的值在系统中搜索命令,并返回命令所在的路径。
总结:在Linux中执行的命令是通过Shell解析、查找命令位置、创建新进程来执行的。执行的命令文件位于系统的PATH所指定的目录下,命令的执行结果会显示在终端上。
2年前