一、文章概述本次实操围绕Linux Shell基础完整知识点展开包含Shell类型、Shell进程父子关系、Shell运行模式、内建命令与外部命令区分、history历史命令、alias自定义别名六大学习模块。所有命令均在Xshell连接Ubuntu虚拟机环境完成实操演示梳理完整知识框架记录每一步操作与运行结果清晰展示各指令的功能、参数使用效果。二、Shell相关基础概念一Shell的类型Shell是用户与Linux系统内核之间的交互媒介主要作用是解析用户输入的命令将指令传递给内核完成执行操作。主流Shell分为以下几类第一sh最早的标准Shell兼容性广泛但功能较为简单第二bashLinux系统默认使用的Shell完全兼容sh所有语法额外拓展历史命令、自定义别名等实用功能本次实操全程使用bash第三zsh、csh属于拓展类Shell多用于开发、运维专业场景。二Shell进程及其父子关系每打开一个全新的终端窗口操作系统会创建独立的bash父进程。当我们在终端执行程序、括号包裹命令、运行脚本文件时系统会生成对应的子Shell进程。进程存在固定层级规则父进程关闭结束时其创建的全部子进程会同步销毁子进程无法修改父进程的环境变量、自定义别名、内存内的历史命令记录。我们可以使用ps --forest命令以树形结构打印系统进程能够直观观察bash父进程与ps子进程的层级关系。配套快捷指令!!可以直接重复执行上一条输入的命令。三Shell的运行模式Shell分为交互式Shell与非交互式Shell两种运行模式。交互式Shell就是我们日常手动打开终端窗口逐行手动输入命令系统实时输出执行结果界面带有$命令提示符非交互式Shell不会弹出交互窗口在运行.sh脚本文件时自动启动仅批量执行脚本内部预先写好的代码。四内建命令和外部命令内建命令直接集成在bash程序内部执行时不会创建子进程运行速度更快常见指令包含history、alias、cd、pwd等。外部命令是独立的可执行文件存放于系统/usr/bin目录下运行外部命令时系统会自动生成子进程ls、cat都属于外部命令。我们可以通过type指令区分命令类型输入type pwd、type ls即可对比两者差异。三、内建命令history 详解实操核心概念history命令专门用于记录终端窗口所有执行过的指令历史命令会持久保存在家目录下的隐藏文件.bash_history中。实操1对比history 与 cat .bash_historyhistory指令读取当前终端内存内全部历史命令自带数字行号包含本次登录后新输入的所有指令cat .bash_history仅读取硬盘存储的历史文件无法读取当前终端刚输入、还未保存缓存的新命令。执行指令为history、cat .bash_history。实操2history -a 参数作用history -a参数功能将当前终端内存中新执行的全部命令立刻追加写入.bash_history历史文件。执行完成后再次读取文件之前缺失的本次操作指令会全部保存到文件中。配套执行指令为history -a、cat .bash_history。历史命令快捷调用方法第一种!!一键重复执行上一条输入的命令第二种!数字调取历史记录对应行号的命令直接运行。完整实操流程输入pwd打印当前目录使用history | grep pwd筛选所有pwd相关历史记录输入!加查询到的行号复用历史命令。补充history常用参数history -c清空当前终端内存中存储的历史记录history -w手动将内存内所有历史命令写入历史文件history n仅展示最后n条历史指令。四、内建命令alias自定义别名实操概念alias是Shell内建命令作用是给冗长复杂的命令设置简短自定义别名简化重复输入操作。通过alias创建的别名仅在当前终端窗口生效关闭终端后自动失效别名仅作用于当前Shell进程不会影响其他终端窗口。查看系统全部别名执行指令alias -p运行后打印系统预设的全部别名包含ll、la、ls等系统自带简写命令。创建自定义别名alias标准语法格式alias 别名‘完整原始命令’等号两侧不能添加空格引号必须使用英文单引号。本次实操创建ls -li的简写别名li完整创建指令alias li‘ls -li’。创建完成后再次执行alias -p列表内会新增li别名直接输入li即可执行ls -li查看文件完整属性信息。整套实操指令alias li‘ls -li’、alias -p、li。别名删除指令unalias li单独删除自定义创建的li别名unalias -a一次性清空当前终端全部自定义别名。五、整体知识框架总结Shell基础内容Shell定义、常见分类、交互式与非交互式两种运行模式Shell进程相关父子进程生成规则使用ps --forest查看进程树结构命令分类内建命令history、alias、cd等、外部命令ls、cat等history命令使用查看历史记录、-a参数缓存写入、!!与!数字快速调用历史指令alias别名工具自定义别名创建、查看系统别名、删除自定义别名。六、实操总结本次文章内所有操作均通过Xshell远程连接Ubuntu虚拟机完成全部命令手动输入并验证运行效果。history命令能够快速调取过往执行指令大幅提升操作效率alias别名可以简化复杂长命令的输入流程。Shell父子进程、内外命令区分是Linux命令运行底层核心知识在日常操作、Shell脚本编写、服务器运维场景中都会高频使用。文中所有操作截图严格按照标注位置依次插入完整记录每一条命令的输入过程与对应运行输出结果。