Linux 内建命令 (Built-in Commands) 完全指南
什么是内建命令?
在 Linux 系统中,命令通常分为两类:内建命令 (Built-in Commands) 和 外部命令 (External Commands)。
内建命令是指直接集成在 Shell(如 Bash、Zsh)程序内部的命令,当你输入一个内建命令时,Shell 会直接在当前的进程中执行它,而不需要去磁盘上的特定目录(如 /bin 或 /usr/bin)寻找独立的可执行文件。
内建命令 vs 外部命令
| 特性 | 内建命令 (Built-in) | 外部命令 (External) |
|---|---|---|
| 存储位置 | 集成在 Shell 二进制文件中 | 存储在磁盘文件系统中 (如 /bin/ls) |
| 执行速度 |
极快(无需创建新进程) | 较慢(需要 Fork 一个新进程) |
| 环境变量修改 | 可以直接修改当前 Shell 的环境 | 无法直接修改父 Shell 的环境 |
| 典型例子 | cd, export, alias | ls, grep, vim |
常见的 Linux 内建命令分类
目录与路径操作
cd:切换当前工作目录,这是最典型的内建命令,cd是外部命令,它将无法改变当前 Shell 的工作目录。pwd:显示当前工作目录(在许多 Shell 中也是内建的)。
环境变量与 Shell 配置
:设置或导出环境变量,使变量在子进程中也有效。exportalias:为长命令创建简短的别名。unalias:取消已设置的别名。set:设置或显示 Shell 的变量及函数。unset:删除变量或函数。source(或 ):在当前 Shell 环境中执行指定的脚本文件。
进程与会话控制
exit:退出当前的 Shell 会话或脚本。exec:用一个新进程替换当前的 Shell 进程。history:查看用户执行过的命令历史记录。
输入输出与辅助
echo:在终端打印字符串或变量的值。read:从标准输入读取一行数据并赋值给变量。type:非常重要,用于查看一个命令到底是内建命令、别名还是外部命令。
help:显示内建命令的帮助信息。
如何辨别命令类型?
如果你不确定一个命令是内建的还是外部的,可以使用 type 命令进行查询:
-
查询内建命令:
type cd
输出示例:cd is a shell builtin -
查询外部命令:
type ls
输出示例:ls is aliased to 'ls --color=auto'或ls is /usr/bin/ls -
查询别名:
type ll
输出示例:ll is aliased to 'ls -alF'
理解内建命令的关键在于理解 “进程环境”,凡是涉及到改变当前 Shell 状态(如切换目录、设置环境变量、退出当前终端)的操作,都必须通过内建命令来完成,否则这些更改将在命令执行完毕后立即随着子进程的结束而消失。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/488998.html
![[5分钟学linux] 13-linux基础:绝对路径、相对路径和touch命令-2022新linux极速入门教程](https://i2.hdslb.com/bfs/archive/f9f163aefd62de7a85386a22d1b1a6315f18c727.jpg)


