Linux内建命令有哪些,Linux内建命令和外部命令有什么区别?

Linux 内建命令 (Built-in Commands) 完全指南

什么是内建命令?

在 Linux 系统中,命令通常分为两类:内建命令 (Built-in Commands)外部命令 (External Commands)

内建命令是指直接集成在 Shell(如 Bash、Zsh)程序内部的命令,当你输入一个内建命令时,Shell 会直接在当前的进程中执行它,而不需要去磁盘上的特定目录(如 /bin/usr/bin)寻找独立的可执行文件。

[5分钟学linux] 13-linux基础:绝对路径、相对路径和touch命令-2022新linux极速入门教程
加载中
[5分钟学linux] 13-linux基础:绝对路径、相对路径和touch命令-2022新linux极速入门教程

内建命令 vs 外部命令

特性 内建命令 (Built-in) 外部命令 (External)
存储位置 集成在 Shell 二进制文件中 存储在磁盘文件系统中 (如 /bin/ls)
执行速度

Linux内建命令有哪些,Linux内建命令和外部命令有什么区别?

极快(无需创建新进程)

较慢(需要 Fork 一个新进程)
环境变量修改可以直接修改当前 Shell 的环境无法直接修改父 Shell 的环境
典型例子cd, export, aliasls, grep, vim

常见的 Linux 内建命令分类

目录与路径操作

  • cd:切换当前工作目录,这是最典型的内建命令,cd 是外部命令,它将无法改变当前 Shell 的工作目录。
  • pwd:显示当前工作目录(在许多 Shell 中也是内建的)。

环境变量与 Shell 配置

  • Linux内建命令有哪些,Linux内建命令和外部命令有什么区别?

    export:设置或导出环境变量,使变量在子进程中也有效。

  • alias:为长命令创建简短的别名。
  • unalias:取消已设置的别名。
  • set:设置或显示 Shell 的变量及函数。
  • unset:删除变量或函数。
  • source (或 ):在当前 Shell 环境中执行指定的脚本文件。

进程与会话控制

  • exit:退出当前的 Shell 会话或脚本。
  • exec:用一个新进程替换当前的 Shell 进程。
  • history:查看用户执行过的命令历史记录。

输入输出与辅助

  • echo:在终端打印字符串或变量的值。
  • read:从标准输入读取一行数据并赋值给变量。
  • type非常重要

    Linux内建命令有哪些,Linux内建命令和外部命令有什么区别?

    ,用于查看一个命令到底是内建命令、别名还是外部命令。

  • 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

(0)
服务器如何有效防止ddos攻击,高防服务器有哪些防护手段
上一篇 2026年7月12日 22:43
百度cdn csr是什么?百度cdn csr配置方法
下一篇 2026年5月26日 06:59

相关推荐

  • Linux如何安装MongoDB?Linux系统下MongoDB详细安装教程

    在Linux环境下安装MongoDB,推荐通过官方YUM或APT源配置进行安装,这种方式比编译源码更稳定且便于后续版本管理,适用于CentOS、Ubuntu等主流发行版,MongoDB作为文档型数据库的代表,在2026年的技术生态中依然占据重要地位,许多开发者在面对Linux服务器时,往往会在“直接下载二进制包……

    2026年7月6日
    4800
  • linux开发DSP难吗?linux开发dsp入门教程

    在Linux环境下开发DSP应用,核心在于利用TI的SysLink或OpenAMP框架实现ARM与DSP核的高效通信,并通过优化内存映射与中断处理来突破实时性瓶颈,这比传统裸机开发更复杂但具备更强的系统扩展性,将数字信号处理(DSP)从封闭的嵌入式环境迁移到Linux系统,是许多工程师面临的重大架构转型,过去……

    2026年7月7日
    10500
  • Linux HTTP编程怎么做?Linux下C语言实现HTTP服务器详解

    Linux下HTTP编程的核心在于掌握Socket底层通信与HTTP协议解析,通过C语言或Python结合Nginx/Apache等Web服务器,可实现高性能、高并发的网络服务开发,在Linux环境中进行HTTP编程,并非简单地调用几个API就能搞定,它涉及从底层网络套接字(Socket)到应用层协议解析的完整……

    2026年7月7日
    16100
  • Linux shell乘法怎么算?shell脚本乘法运算方法

    在Linux Shell中进行乘法运算,最常用且高效的方法是使用双括号(( ))算术扩展、$(( ))算术求值或expr命令,其中双括号语法因支持复杂逻辑和直接赋值而成为现代脚本开发的首选方案,许多刚接触Linux命令行的用户往往对变量运算感到困惑,尤其是当需要处理整数乘法时,直接使用星号(*)不仅会触发通配符……

    2026年7月6日
    19500
  • 如何代理访问linux?linux远程代理访问方法

    在 Linux 系统中,“代理访问”通常指的是通过配置代理服务器(如 HTTP/HTTPS、SOCKS5 等)来访问互联网,或者通过 SSH 代理进行远程连接,以下是几种常见场景的配置方法:配置系统级 HTTP/HTTPS 代理适用于浏览器、curl、wget、apt、yum 等工具,临时设置(当前终端会话有效……

    2026年7月11日
    1800
  • Oracle 12514错误怎么解决?Linux下Oracle 12514错误处理方法

    Oracle 12514 错误在 Linux 环境下通常由监听器未识别到目标数据库实例引起,核心解决路径是检查 listener.ora 配置、重启监听服务或等待动态注册生效,这个错误就像是你打电话给公司总机,总机接了电话,但说“查无此人”或者“该部门未注册”,在 Oracle 数据库运维中,Oracle 12……

    2026年7月6日
    4600
  • linux find命令怎么用?linux find命令查找文件实例

    Linux find命令是系统管理员定位文件最高效的工具,通过组合名称、时间、权限和类型等条件,能在海量数据中精准锁定目标,无需依赖第三方软件,在Linux操作系统中,文件系统的层级结构往往错综复杂,尤其是当服务器运行多年、日志堆积如山时,手动查找特定文件无异于大海捞针,业内专家指出,掌握find命令不仅是基础……

    2026年7月9日
    7000
  • linux mysql lib是什么?linux mysql lib缺失怎么解决

    在Linux环境下部署MySQL时,libmysqlclient库是连接应用程序与数据库的核心桥梁,正确配置该库不仅能解决常见的动态链接错误,还能显著提升数据库连接的安全性与稳定性,许多开发者在Linux服务器上进行项目部署时,经常遇到“libmysqlclient.so.18: cannot open sha……

    2026年7月7日
    5000
  • Docker在Windows和Linux上怎么选?docker安装教程

    Docker在Windows和Linux上的核心差异在于底层架构与性能表现:Linux原生支持且性能无损,是生产环境首选;Windows通过WSL 2虚拟化层运行,虽兼容性极佳但存在轻微开销,适合开发与测试场景,Docker在Linux与Windows上的底层架构差异理解Docker在不同操作系统中的运行机制……

    2026年7月9日
    9800
  • 如何在Windows下使用Linux telnet?windows系统怎么安装telnet客户端

    在Windows环境下通过Telnet连接Linux服务器,核心在于启用Windows的Telnet客户端功能,并在Linux端确保23端口开放且服务已启动,这是实现远程命令行交互的基础操作,很多刚接触服务器运维的朋友,面对Windows和Linux两个截然不同的操作系统,往往会在连接方式上感到困惑,虽然SSH……

    2026年7月11日
    2200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注