Linux Shell 基础命令与变量实践总结
一、核心知识点梳理一文本编辑与处理命令vim 编辑器概念Linux 下模态文本编辑器分为命令模式、插入模式、底行模式三种工作模式。核心操作执行vim 文件名启动编辑器按下 i 键进入插入模式可自由输入、修改文本按下 Esc 键退回命令模式输入:wq保存文件并退出:q!放弃修改强制退出命令模式输入:/关键词可全文检索匹配内容底行模式输入:%s/旧内容/新内容/g完成全文替换数字s/旧内容/新内容/g仅对指定单行替换。sort 排序命令概念按行对文本内容进行排序默认采用字典排序规则。核心参数-n 按照数字实际大小排序规避字典序数字错乱问题-r 将排序结果倒序输出-nr 组合参数实现数字倒序排序-k 针对文本指定列进行排序。grep 检索命令概念在目标文本中匹配指定字符串输出符合检索条件的内容行。核心参数-o 仅打印匹配到的关键词本身不输出整行-n 输出匹配内容时附带对应行号-c 统计文件内匹配关键词的总行数-v 反向检索输出不包含目标关键词的所有行。history 历史命令概念用于查看、管理当前终端会话执行过的全部命令。核心操作直接输入 history 查看当前会话带编号的命令记录cat .bash_history 读取磁盘持久化存储的历史命令文件history -a 将当前会话新增的所有命令追加写入历史记录文件。二Shell 变量与环境变量局部变量概念仅在当前父 Shell 会话中生效的变量无法被子 Shell 继承读取。赋值规则书写格式为变量名值等号左右不允许存在空格若变量值包含空格、特殊符号必须使用单引号或双引号包裹内容使用echo $变量名查看变量存储内容。特性进入子 Shell 后无法读取父 Shell 定义的局部变量子 Shell 内创建的局部变量退出子 Shell 回到父 Shell 后直接失效。环境变量全局变量概念通过 export 指令导出后的变量能够被当前 Shell 创建的所有子 Shell 继承使用。核心操作两种定义导出方式变量名值 export 变量名、export 变量名值子 Shell 可以直接读取父 Shell 导出的环境变量子 Shell 内部对环境变量重新赋值并再次 export修改仅作用于当前子 Shell 以及该子 Shell 衍生的下级 Shell退出子 Shell 后父 Shell 内变量原值不会发生改变。二、知识框架体系文本操作类工具vim核心用途为本地文本创建、编辑、修改核心操作包含模式切换、文件保存退出、全文检索、文本替换适配配置文件、脚本文件编辑场景。sort核心用途为文本内容行排序核心参数包含数字排序、倒序排序组合参数适用于日志、数字清单规整排序。grep核心用途为文本关键词过滤检索核心参数包含显示行号、统计匹配行数、反向过滤、仅输出匹配字符常用于日志筛选、文本内容查找。history核心用途为管理终端执行历史核心操作包含查看会话历史、同步历史至本地文件方便重复执行过往命令。Shell 变量体系局部变量仅当前终端会话可用父子 Shell 之间不互通适用于临时单次数据存储无导出指令。环境变量经 export 导出后可传递给子 Shell子 Shell 修改不向上同步父 Shell 数据适用于跨会话传递配置、路径等通用数据。三、Xshell 实操流程与结果说明vim 编辑器实操操作流程输入 vim test.txt 创建文本按下 i 进入插入模式录入带 old 字符的多行文本Esc 切换命令模式输入:wq 保存退出重新打开文件执行:/old 检索文本内所有 old 字符分别执行全局替换、单行替换指令。实操结果成功完成文本录入保存检索指令可高亮匹配全部 old 字符全局替换会修改文件内所有 old 字段单行替换仅修改目标行内容其余行内容保持不变。sort 排序实操操作流程新建 num.txt 写入多行无序数字依次执行默认 sort 排序、sort -n 数字排序、sort -r 倒序、sort -nr 数字倒序。实操结果默认字典序排序会出现 10 排在 2 前方的错乱情况添加 - n 参数后按照数字真实大小升序排列搭配 - r 参数可实现升序、降序自由切换。grep 检索实操操作流程基于 test.txt 文件依次执行基础检索、带行号检索、统计匹配行数、仅输出匹配字符、反向过滤检索指令。实操结果基础指令输出含关键词完整行-n 参数附带行号便于定位-c 直接输出匹配总行数-o 仅打印 old 单词-v 输出所有不包含 old 的文本行。history 命令实操操作流程分别执行 history、cat .bash_history 对比输出内容执行 history -a 后再次读取历史文件。实操结果history 展示当前会话带编号的命令记录cat 读取本地文件无编号执行 history -a 后本次会话所有新执行命令同步写入本地历史文件两次读取文件内容出现增量变化。局部变量实操操作流程父 Shell 定义局部变量 my_variable 并打印输入 bash 进入子 Shell 再次打印该变量子 Shell 新建局部变量执行 exit 退回父 Shell 后打印子 Shell 变量。实操结果子 Shell 无法读取父 Shell 局部变量子 Shell 创建的局部变量在退出后父 Shell 无对应数据输出变量赋值时等号两侧不能添加空格带空格内容需引号包裹。环境变量 export 实操操作流程父 Shell 定义变量并通过 export 导出进入子 Shell 读取变量子 Shell 重新赋值并再次 export 导出执行 exit 退回父 Shell 读取变量。实操结果子 Shell 可正常读取父 Shell 导出的环境变量子 Shell 内部修改变量值仅在自身会话生效退出子 Shell 后父 Shell 内变量仍保留原始赋值。四、整体总结本次全部操作均在 Xshell 工具中完成完整覆盖 vim、sort、grep、history 四类文本处理命令以及局部变量、export 环境变量两大变量核心知识点。实操过程验证了各命令参数的功能差异、Shell 父子会话变量的作用域限制搭建了清晰的 Linux 文本处理与变量管理知识体系所有操作步骤均可截图留存作为实操佐证为后续 Shell 脚本编写、服务器日志运维打下基础。

相关新闻