news 2026/7/10 16:30:55

Linux Shell 脚本知识点完整文字总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux Shell 脚本知识点完整文字总结

一、核心知识点概念与实操理解
(一)多命令组合执行
在终端中可以借助符号串联多条命令完成批量操作,分号用于顺序执行多条指令,无论前一条命令运行是否成功,后续命令都会依次执行,常用于一次性查看多项系统信息;管道符负责传递命令输出内容,将前一条指令输出的数据直接作为后一条指令的输入,实现数据流转处理,两条符号都可以直接在 Xshell 终端输入运行,无需写入脚本文件。
(二)Shell 脚本基础理论
Shell 脚本是批量存储 Linux 命令的文本文件,后缀统一使用 sh 方便识别,文件首行必须标注解释器声明语句,用于告知系统调用 bash 程序解析脚本内代码。新建的脚本文件默认不具备执行权限,存在两种运行方式,一种是直接调用解释器运行,不受权限限制;另一种是赋予文件执行权限后,通过文件路径直接启动脚本,两种方式都可在 Xshell 完整实操验证。
(三)echo 输出指令
echo 是终端基础打印工具,能够输出文字、变量内容,核心功能参数为 - n,作用是取消输出末尾自动换行效果,让后续命令输出内容和当前打印文字显示在同一行,优化终端展示排版,实操时可以搭配时间、用户查询命令直观对比换行与不换行的显示差异。
(四)变量相关知识
变量用于存储文本、数字类数据,分为系统预设环境变量和用户自定义变量。系统环境变量由系统自带,存储用户、目录、身份相关信息,可直接调取使用;自定义变量由使用者手动创建,赋值时等号前后不能添加空格,字符串内容建议使用引号包裹。调用变量时需要在变量名称前添加美元符号,若需要原样打印美元符号,要使用反斜杠完成转义。
命令替换是变量的特殊用法,能够将指令运行结果存入变量,存在两种书写格式,更推荐兼容性更强的括号写法,常用来提取系统时间生成自定义日志文件名,实操中可结合文件写入指令完成日志创建。
(五)文件行数统计工具 wc
wc 工具用于统计文件字符、单词、行数信息,最常用参数为 - l,仅单独统计文件总行数,既可以统计单个脚本文件长度,也能批量统计当前目录下全部脚本文件,在 Xshell 输入指令后会直接输出对应统计数字。
(六)数学运算实现方式
系统原生 shell 仅支持简易整数运算,复杂计算需要借助专用工具。整数运算有两种实现形式,一是使用 expr 工具,运算符前后必须留出空格,乘法符号需要额外转义;二是方括号运算语法,书写简洁无需转义符号,是日常更常用的写法。浮点小数运算需要依靠 bc 计算器,通过管道符将运算表达式传入工具,scale 关键字用来控制保留小数位数,该关键字必须写在运算式前方,否则小数设置不会生效。
(七)命令退出状态码
每一条终端指令、每一段脚本运行结束后都会生成状态码,数值范围在 0 至 255 之间,数字 0 代表程序正常执行完毕,非零数字代表运行异常。输入专用查询指令可以查看上一条操作对应的状态码,脚本中能够手动设置退出状态码,自定义数值用来标记脚本运行结果,方便后续区分执行成功或失败。
二、完整知识框架体系(命令用途与参数说明)

  1. 系统基础查询命令
    date 指令主要查看系统当前日期时间,搭配格式字符可以自定义时间输出样式;who 指令查看当前登录系统的全部用户信息,包含账号、登录终端、登录 IP;echo 指令输出自定义内容,核心参数 - n 关闭自动换行,额外参数 - e 支持解析换行、制表符等转义字符;wc 指令统计文件内容,参数 - l 统计行数,参数 - w 统计单词数量,参数 - c 统计文件字节大小。
  2. 文件与权限操作命令
    vim 工具用于新建、编辑脚本文本,进入编辑界面后切换插入模式输入代码,编辑完成保存退出即可生成脚本文件;chmod 指令修改文件操作权限,核心参数 u+x 为文件所有者开放执行权限;bash 指令直接调用解释器运行脚本,不需要提前配置权限;./ 文件路径是赋权后运行脚本的标准方式。
  3. 运算与程序控制工具
    expr 工具完成整数加减乘除运算,运算符前后必须空格,乘法符号需要转义处理;bc 工具处理高精度浮点运算,scale 参数控制小数保留位数,支持交互式计算和脚本内管道计算;exit 放置在脚本末尾,自定义脚本运行结束后的退出状态码,数值限制在 0 到 255。
  4. 特殊语法与符号含义
    分号作为多命令分隔符,实现多条指令顺序执行;管道符传递前后命令的输入输出数据;美元符号搭配变量名调取存储的数据;括号命令替换语法抓取指令运行结果;首行解释器声明语句固定脚本解析程序,是脚本文件必不可少的开头内容;$? 作为特殊内置变量,存储上一步操作生成的退出状态码。
    三、Xshell 完整实操流程与运行结果描述
  5. 多命令组合实操
    直接在终端输入分号连接的两条查询指令,回车后终端会先打印当前系统时间,再分行展示所有登录用户信息;输入管道符连接两条指令,终端最终仅输出登录用户信息,直观体现管道传递数据的运行逻辑。
  6. 基础打印脚本实操
    使用 vim 工具创建脚本文件,写入时间和用户查询代码后保存退出,修改文件执行权限,通过路径启动脚本,终端输出内容和分号串联命令的运行效果完全一致。
  7. 美化输出脚本实操
    新建脚本文件,使用带 - n 参数的 echo 指令编写提示文字,搭配时间、用户查询代码,赋权运行后,提示文字和系统时间会在同一行展示,后续登录用户信息单独分行,整体排版更加整洁清晰。
  8. 变量调用脚本实操
    创建脚本调取系统内置环境变量,同时添加转义打印美元符号的语句,运行后依次输出当前登录账号、用户编号、用户家目录,最后一行原样打印 $HOME 文本,区分变量调取和符号转义两种用法。
  9. 命令替换日志脚本实操
    新建脚本通过命令替换提取格式化日期,拼接生成专属日志文件名,借助重定向符号将系统时间、用户信息写入日志文件,打印日志全部内容后,统计当前脚本自身总行数,完整实现自动生成日志、统计文件长度的自动化流程。
  10. 数学运算脚本实操
    整数运算脚本完成括号混合四则运算,运行后输出两组完全一致的整数结果,除法运算仅保留整数部分;浮点运算脚本调用 bc 工具,分别测试 scale 关键字前置和后置两种写法,能观察到仅前置设置小数位时计算结果会保留对应小数,后置设置不会生效,同时可以代入自定义变量完成浮点除法计算。
  11. 退出状态码脚本实操
    编写脚本定义数字变量并打印内容,脚本末尾设置自定义退出码,运行脚本后终端打印预设数字,再输入状态码查询指令,终端输出和脚本自定义数值完全相同,验证自定义退出码功能生效。
    四、实操避坑注意事项
    所有脚本内的符号必须使用英文半角格式,中文引号、多余空格都会触发语法报错;变量赋值操作中等号两侧不能添加空格,系统会将空格识别为独立指令;expr 工具运算时乘法符号必须转义,方括号运算语法无需额外处理;通过文件路径运行脚本前,必须提前开放执行权限,调用 bash 解释器运行则无需配置权限;bc 工具设置小数位数的关键字必须写在运算表达式之前,否则参数不生效;自定义退出状态码只能填写 0 至 255 区间内的数字,超出范围系统会自动截断数值。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 16:29:53

Blade性能优化:10个提升图形渲染效率的关键策略

Blade性能优化:10个提升图形渲染效率的关键策略 【免费下载链接】blade Sharp and simple graphics library 项目地址: https://gitcode.com/gh_mirrors/blade3/blade Blade是一款专为Rust语言设计的现代图形渲染库,以其简洁高效的API和强大的硬件…

作者头像 李华
网站建设 2026/7/10 16:29:46

游戏帧率被锁60?这款开源工具一键解锁,单机游戏丝滑到飞起!

玩单机游戏最憋屈的是什么?明明显卡性能过剩,游戏却强制锁30帧或60帧,画面卡顿得像PPT;想加速跳过冗长剧情,却发现没有官方选项;更烦的是,市面上的变速工具要么收费、要么捆绑流氓软件、要么后台…

作者头像 李华
网站建设 2026/7/10 16:29:17

UnityDataTools故障排除:常见TypeTree错误和解决方案完全指南

UnityDataTools故障排除:常见TypeTree错误和解决方案完全指南 【免费下载链接】UnityDataTools Tools and libraries for reading and analyzing Unity data files. 项目地址: https://gitcode.com/gh_mirrors/un/UnityDataTools 你是否在使用UnityDataTools…

作者头像 李华
网站建设 2026/7/10 16:28:54

AI推荐位背后的品牌博弈:GEO监测的四个关键维度

第一部分:引言——AI搜索时代,品牌正在经历一场“可见度危机”当用户向DeepSeek、Kimi或豆包提问“哪个品牌值得推荐”时,AI会直接给出一个包含具体品牌名称的答案。如果你的品牌不在其中,就等于在用户决策链的起点彻底“隐形”。…

作者头像 李华
网站建设 2026/7/10 16:28:01

怎样轻松实现微博图片批量下载:3个高效技巧揭秘

怎样轻松实现微博图片批量下载:3个高效技巧揭秘 【免费下载链接】weiboPicDownloader Download weibo images without logging-in 项目地址: https://gitcode.com/gh_mirrors/we/weiboPicDownloader 还在为手动保存微博图片而烦恼吗?weiboPicDown…

作者头像 李华
网站建设 2026/7/10 16:27:23

3分钟免费安装SD-PPP:在Photoshop中直接使用AI绘图的神奇插件

3分钟免费安装SD-PPP:在Photoshop中直接使用AI绘图的神奇插件 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 还在为AI绘图工具和Photoshop之间的频繁切换而烦恼吗?SD-PPP这款开源免费的Pho…

作者头像 李华