百度
360搜索
搜狗搜索

Linux判断内部外部命令详细介绍

在 Linux 中,判断一个命令是 内部命令(Shell Builtin) 还是 外部命令(External Command),可以通过以下几种方法:

方法 1:使用 type 命令

type 命令可以显示命令的类型,明确标识是否为内部命令:

  • 内部命令:输出包含 shell builtin(或 builtin)。
    示例:bash
               

  • 外部命令:输出命令的绝对路径(即存储位置)。
    示例:bash
               

方法 2:使用 which 命令

which 命令用于查找外部命令的路径:

  • 内部命令which 无法找到,无输出(或提示找不到)。
    示例:bash
              

  • 外部命令:输出命令的绝对路径。
    示例:bash
              

方法 3:查看命令是否存在独立可执行文件

外部命令本质上是独立的可执行文件,通常位于以下目录中:

  • /bin/:系统基本命令(如 ls, cp, mv)。
  • /usr/bin/:用户级命令(如 nano, wget, git)。
  • /sbin/:系统管理命令(如 shutdown, reboot,需管理员权限)。
  • /usr/sbin/:管理员级命令(如 useradd, apache2)。

而内部命令没有独立的可执行文件,仅由 Shell 解释器直接支持(如 cd, echo, exit)。

方法 4:使用 help 命令(仅内部命令有效)

内部命令的帮助信息可以通过 help 命令直接查看:
bash

            

外部命令的帮助需通过 --helpman 命令查看:
bash

          

补充:列出所有内部命令

在 Bash 中,可以通过 builtins 命令列出所有内置命令:
bash

builtins          

总结对比

特征 内部命令(Shell Builtin) 外部命令(External Command)
执行方式 由 Shell 直接解释执行,无需加载文件 需要加载磁盘上的可执行文件
type 命令结果 包含 shell builtinbuiltin 显示文件路径(如 /usr/bin/ls
which 命令结果 无输出(或提示找不到) 显示文件路径
独立可执行文件 不存在 存在于 /bin/, /usr/bin/ 等目录中
帮助命令 help 命令 命令 --helpman 命令

通过以上方法,可快速判断一个命令是内部还是外部命令。例如:

  • cd 是内部命令(切换目录无需可执行文件,由 Shell 直接处理)。
  • ls 是外部命令(对应 /usr/bin/ls 可执行文件)。

阅读更多 >>>  linux如何查看已占用内存

网站数据信息

"Linux判断内部外部命令"浏览人数已经达到17次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:Linux判断内部外部命令的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!