内部与外部 Linux Shell 命令
Linux 命令是管理和操作 Linux 系统的重要组成部分,使用户能够执行从文件操作到系统监控的各种任务。这些命令可以分为两种类型:内部命令和外部命令。内部命令内置于 shell 本身中,无需外部二进制文件即可快速执行。相反,外部命令是位于系统文件层次结构中的单独可执行文件。了解这些命令之间的差异,以及了解如何有效地识别和使用它们,可以显着提高用户导航和管理 Linux 环境的效率和熟练程度。
在本教程中您将学习:
- 什么是内部 Linux shell 命令
- 什么是外部 Linux shell 命令
- 两种类型命令的示例
- 如何判断一个命令是内部命令还是外部命令
内部与外部 Linux Shell 命令
Linux 命令对于系统管理员和开发人员来说都是必不可少的工具。这些命令可以分为两种主要类型:内部命令和外部命令。内部命令内置于 shell 本身中,这意味着它们不需要外部可执行文件即可运行。另一方面,外部命令是存储在文件系统中的可执行文件。
了解这两类命令之间的区别对于高效的系统管理和故障排除至关重要。内部命令通常速度更快,因为它们直接由 shell 执行,而外部命令可能会涉及更多开销,因为 shell 需要查找并执行相应的文件。
识别内部和外部命令
要确定命令是内部命令还是外部命令,可以使用 type
命令。 type
命令提供有关如何解释命令名称的信息。以下是如何使用它:
type command_name
例如:
$ type cd
这将输出:cd is a shellbuiltin
。表明cd
是一个内部命令。
$ type ls
这将输出:ls is hashed (/usr/bin/ls)
。表示ls
是位于/bin
目录下的外部命令。
内部命令示例:cd:
cd
命令用于更改当前目录。它是一个内部命令,因为它内置于 shell 中。$ cd /home/user
外部命令示例:ls:
ls
命令列出目录的内容。它是外部命令,因为它是位于文件系统中的可执行文件。$ ls -l /home/user
在此示例中,cd
命令将当前目录更改为 /home/user
。由于它是内部命令,因此 shell 可以快速执行它,而无需搜索外部可执行文件。
在此示例中,ls
命令以长格式列出 /home/user
目录的内容。 shell 在 PATH
环境变量中列出的目录中找到 ls
可执行文件并运行它。
前 5 个内部命令
前 5 个外部命令
结论
了解内部和外部 Linux shell 命令之间的区别可以提高您使用命令行的效率。内部命令内置于 shell 中,通常执行速度更快,而外部命令是独立的可执行文件。识别命令是内部命令还是外部命令有助于排除故障并优化脚本性能。