Missing Semester Class1:course overview and introduction of shell 📅 发布时间:2026/7/3 2:16:23 👁️ 浏览次数: Missing Semester Class1course overview and introduction of shell一、Shell 环境分类不同系统默认解释器二、Shell 基础内置命令详解1. date — 查看系统日期时间作用常用拓展用法2. echo — 内容打印输出基础规则错误案例解析拓展常用用法3. man — 查看命令官方完整手册作用手册翻页操作轻量化替代方案4. cd — 切换工作目录核心路径概念两个路径定义目录简写符号复杂路径示例拆解Tab 自动补全技巧5. PATH 环境变量 which 命令查询PATH 是什么查看 PATH 内容which 命令查找命令真实路径6. ls — 列出目录内文件、文件夹三、文件处理专项命令文本查看、过滤、排序、替换、检索7. cat — 读取并输出文件全部内容基础用法拓展小用法8. sort — 按行文本排序9. uniq — 去除连续重复行10. head / tail 截取文件首尾内容head查看文件开头tail查看文件末尾日志排查高频命令11. grep — 文本关键词搜索匹配12. sed — 流式行编辑器批量替换主力工具重要区分13. find — 递归查找文件基础语法-exec 进阶用法找到文件后批量执行命令14. awk — 文本按列处理利器15. 管道符 |16. 重定向符号 17. if / then 条件判断语句Shell 脚本分支18. for / while 循环语句while 循环满足条件就持续循环for 循环遍历列表迭代19. Shell 脚本程序.sh 文件20. Shebang 解释器声明 #!四、补充通用操作知识点写在最后本文是让ai在我关于MIT missing semester课程第一课的笔记上进行更改和润色而写成的内容完整覆盖了第一课视频中所讲的所有内容。一、Shell 环境分类不同系统默认解释器Shell 本质是命令行解释器接收用户输入指令并传递给操作系统内核执行不同操作系统默认 Shell 不一样Linux 系统绝大多数发行版默认使用BashBourne Again Shell兼容性最强学习主流选择macOS 系统新版 macOS 默认是ZshZ Shell旧版 macOS 预装 Bash语法绝大部分和 Bash 通用Windows 系统原生终端为PowerShell语法、命令参数和 Bash 差异极大不适合直接学习 Linux Shell[!重要建议]若你使用 Windows 系统学习 Shell强烈推荐安装WSL适用于 Linux 的 Windows 子系统可以在 Windows 内部运行完整 Linux 环境命令、语法和原生 Linux 完全一致微软官方安装文档中文https://learn.microsoft.com/zh-cn/windows/wsl/install二、Shell 基础内置命令详解1. date — 查看系统日期时间作用输出当前系统的日期、小时、分钟、秒、星期等完整时间信息。常用拓展用法date# 直接输出默认格式完整时间date%Y-%m-%d# 自定义格式年-月-日date%H:%M:%S# 自定义格式时:分:秒date-s2026-07-02 20:00:00# root权限修改系统时间2. echo — 内容打印输出基础规则后跟多个参数默认以空格分隔打印单引号 原样输出所有内容不解析变量、转义符双引号 可以解析变量、部分转义字符反斜杠\转义符取消紧跟字符的特殊含义当作普通文本错误案例解析echojons world问题原因第一个单引号从jon开始jon中间的提前闭合字符串后半段s world语法错乱终端进入等待输入状态。正确写法echojons worldechojon\s\world拓展常用用法echo$PATH# 打印环境变量echo-n不换行输出# -n 参数输出末尾不自动换行echo-e第一行\n第二行# -e 开启转义解析\n 代表换行3. man — 查看命令官方完整手册作用man 命令名调出该命令最全面的官方英文帮助文档包含参数、语法、示例、版权说明。手册翻页操作空格向下翻一页回车向下一行q退出 man 手册界面/关键词向下搜索指定关键词轻量化替代方案命令名 --help输出精简中文/英文帮助适合快速查阅常用参数阅读成本更低示例ls --help4. cd — 切换工作目录核心路径概念两个路径定义绝对路径永远以根目录/开头从系统最顶层目录完整定位无论当前在哪都能精准跳转例cd /usr/local/bin相对路径不以/开头基于当前所在目录进行跳转例当前在/usr执行cd local/bin等价于cd /usr/local/bin目录简写符号.单个点当前所在目录..两个点当前目录的上一级父目录~波浪号当前登录用户家目录简写最常用-横杠回到上一次所在目录复杂路径示例拆解当前位置在系统根目录/cdbin/../bin/././../bin拆解运算/bin → / → /bin → /bin → /bin → / → /bin最终执行完毕当前目录定位到/binTab 自动补全技巧输入部分文件夹/命令按一次Tab自动补全唯一匹配内容连续按两次Tab列出所有匹配候选项大幅减少手动输入拼写错误。5. PATH 环境变量 which 命令查询PATH 是什么PATH 是系统内置全局环境变量内部存储一组用冒号:分隔的目录列表。当你直接输入一个命令如date、ls回车执行时系统会按先后顺序遍历 PATH 内所有目录查找对应可执行文件找到第一个匹配文件就运行后续同名文件不再检索。查看 PATH 内容echo$PATHwhich 命令查找命令真实路径语法which 命令名称示例whichdate# 输出示例/run/current-system/sw/bin/date# 也可以直接使用完整路径执行程序效果等同直接输入 date/run/current-system/sw/bin/date补充如果系统多个目录存在同名命令PATH 靠前目录的程序优先级更高。6. ls — 列出目录内文件、文件夹无参数默认查看当前目录所有内容搭配参数实现不同展示效果ls# 简略列出文件名ls-l# 长格式权限、所有者、大小、修改时间、文件名ls-a# 显示所有文件包含隐藏文件以 . 开头的文件默认隐藏ls-lh# 人性化单位展示文件大小KB/MBls/etc# 查看指定目录 /etc 内容三、文件处理专项命令文本查看、过滤、排序、替换、检索7. cat — 读取并输出文件全部内容基础用法cattest.txt# 一次性打印整个文件所有内容到终端catfile1 file2# 连续打印多个文件内容适用场景小文件查看超大文件不推荐会刷屏。拓展小用法catnew.txt# 新建文件键盘录入内容CtrlD 结束输入8. sort — 按行文本排序默认以ASCII 字母顺序逐行升序排序不会修改原文件仅输出排序结果。sorttest.txtsort-nnum.txt# -n 参数按照数字大小排序避免 10 排在 2 前面sort-rtest.txt# -r 倒序排序9. uniq — 去除连续重复行⚠️ 关键前提uniq只能删除连续相邻重复行非连续重复无法自动去重通常搭配 sort 使用。uniqtest.txtsorttest.txt|uniq# 先排序再全局去重最常用组合uniq-ctest.txt# -c 统计每行重复次数10. head / tail 截取文件首尾内容head查看文件开头语法head -n 行数 文件名headtest.txt# 默认前10行head-n5test.txt# 查看前5行tail查看文件末尾日志排查高频命令tailtest.txt# 默认末尾10行tail-n8test.txt# 查看末尾8行tail-flog.txt# -f 实时追踪文件新增内容查看实时日志CtrlC 退出11. grep — 文本关键词搜索匹配作用在文件中检索匹配指定字符串/正则表达式打印所有命中行基础语法grep 匹配关键词 文件名greperrorapp.log# 查找包含 error 的行grep-ierrorapp.log# -i 忽略大小写匹配grep-vcommenttest.txt# -v 反向匹配输出不包含关键词的行12. sed — 流式行编辑器批量替换主力工具核心用途批量修改、替换文件内容默认仅输出修改结果不改动原文件通用替换语法sed s/原字符串/新字符串/修饰符 文件名示例解析seds/Windows/Linux/gopen.txts/xxx/xxx/代表替换模式g全局修饰符本行所有匹配内容全部替换不加 g 只替换每行第一个匹配词重要区分sed 替换规则内部支持正则表达式文件路径匹配不能用正则只能使用 glob 通配符*、?-i参数直接修改原文件sed -i s/a/b/g test.txt13. find — 递归查找文件根据文件名、大小、时间等条件遍历查找文件默认自动递归遍历所有子目录基础语法find 查找起始路径 筛选条件find/home-name*.txt# 在 /home 下查找所有后缀 .txt 文件find.-maxdepth1-name*.sh#--maxdepth限制递归层级1只查当前目录不进子文件夹-exec 进阶用法找到文件后批量执行命令格式find 路径 条件 -exec 操作命令 {} \;示例查找到所有.log文件并删除find./-name*.log-execrm{}\;输入man find查看完整复杂筛选参数。14. awk — 文本按列处理利器工作逻辑逐行读取文件 → 默认空格/制表符切割字段 → 按列做判断、运算、输出基础通用语法awk 判断条件{执行动作} 文件名内置变量$1第一列、$2第二列、$NF最后一列示例打印文件每行第1、第3列awk{print $1,$3}test.txt15. 管道符|数据流转接符号核心逻辑把管道左侧命令的输出结果直接当作右侧命令的输入数据经典组合示例查看日志含 error 的后10行greperrorapp.log|tail-n10可以无限链式拼接多个命令实现复杂数据筛选处理。16. 重定向符号标准输出重定向覆盖写入将命令输出存入文件清空文件原有全部内容datethedata.txt追加重定向末尾追加写入内容写到文件末尾不会覆盖原有数据echo新增一行thedata.txt输入重定向把文件内容作为命令输入源sorttest.txt17. if / then 条件判断语句Shell 脚本分支语句分隔习惯用分号;简化单行写法完整语法结构if判断条件;then满足条件执行代码else不满足条件执行代码fi条件两种写法test 表达式或[ 表达式 ]中括号前后必须带空格示例判断文件是否存在if[-ftest.txt];thenecho文件存在elseecho文件不存在fi18. for / while 循环语句while 循环满足条件就持续循环while[条件判断];do循环体内执行语句donefor 循环遍历列表迭代for变量in遍历内容;do循环体内执行语句done示例批量遍历打印文件名forfilein*.txt;doecho$file;done19. Shell 脚本程序.sh 文件批量多条频繁执行的命令统一写入后缀为.sh的文本文件一次性批量运行称为 Shell 脚本。编写流程新建test.sh写入多条 shell 命令赋予执行权限chmod x test.sh运行脚本./test.sh20. Shebang 解释器声明#!必须写在脚本第一行开头格式#!解释器路径作用告诉操作系统使用哪一个解析器运行本脚本。最常用写法#!/bin/bash如果省略该行系统默认使用当前终端 Shell 解析执行跨环境容易出现语法兼容问题。四、补充通用操作知识点Ctrl C强制终止终止当前前台正在运行的程序、卡死命令、死循环脚本回到命令行输入提示符。文件权限与 chmod 命令Linux 文件默认存在读写执行权限想要直接./文件名运行脚本必须拥有执行权限修改权限命令示例chmodx test.sh# 给文件添加执行权限chmod755test.sh# 数字方式精细化设置权限写在最后单纯的看视频和这份笔记在执行具体操作显然是不够的推荐阅读课程相关的讲义和完成相关的练习(会在下一次更新),并充分利用好ai多写多操作只有在实践中才能掌握这些工具。
Spring Boot项目JAR包加密实战:使用xjar保护代码防反编译 1. 项目概述与背景 最近在做一个给客户部署的Spring Boot项目,交付时客户提了个要求,希望我能对最终生成的JAR包进行加密,防止他们的业务逻辑被轻易反编译。这需求在商业项目中其实挺常见的,尤其是涉及到核心算法或者商业机密的场… 2026/7/3 2:16:23
163MusicLyrics:如何免费获取网易云QQ音乐歌词的终极解决方案 163MusicLyrics:如何免费获取网易云QQ音乐歌词的终极解决方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾经面对本地音乐库中数百首无歌词的歌曲… 2026/7/3 2:14:22
网易智企IM Web体验馆:一站式在线体验即时通讯 当 AI 真正走进通信场景之后,即时通讯早已不再是一个工具,而正在变成企业经营客户、运营社区、协同业务的底层操作系统。而当这个能力越来越成为应用标配,开发者和企业在选型时往往面临一个共性难题—— "光看文档不够直观,接… 2026/7/3 2:10:21
SpringBoot眼科疾病辅助诊断系统 选题背景 随着全球人口老龄化进程加速和电子屏幕使用时间的普遍增长,眼科疾病的发病率正呈现逐年上升的趋势。世界卫生组织(WHO)数据显示,全球至少有22亿人患有视力障碍或失明,其中至少10亿人的视力障碍本可通过预防或… 2026/7/3 3:28:53
承控环境科技:广州ISO认证水环境治理服务商,提供全链条解决方案及本地项目案例 承控环境科技能为广州客户提供哪些水环境治理相关服务?承控环境科技可为广州地区客户提供覆盖硬件供应、工程实施、数智化支撑的全维度水环境治理相关服务,可匹配不同规模、不同场景的项目需求,服务覆盖广州地区智慧水务领域政府部门及实施主… 2026/7/3 3:26:53
当AI成为同事:ChatGPT企业级应用场景下的效率革命观察 当AI成为同事:ChatGPT企业级应用场景下的效率革命观察 最近两个月,团队内部悄然完成了一次工作流“静默升级”。作为技术管理者,我明显感觉到,围绕GPT-4系列模型构建的辅助系统,正从“玩具”蜕变为“工具”。这个变化… 2026/7/3 3:24:52
字节跳动后端一二三面:一面看索引和线程,二面看系统链路,三面专挑你自称擅长的地方问 这篇字节后端三轮面经很有代表性,因为它完整展示了字节一种很典型的筛人方式: 一面先看常规后端基础和一道算法题 二面开始把系统链路、海量数据场景和排序细节混在一起问 三面不再平均发力,而是专挑你自称擅长的模块往下挖 这种流程对候… 2026/7/3 3:24:52
HarmonyOS ArkTS 实战:实现一个校园考试倒计时复习计划应用 项目效果 本文实现的是一个基于 HarmonyOS 和 ArkTS 的校园考试倒计时复习计划应用。项目使用 ArkUI 组件完成页面布局,通过 State 管理考试计划数据,实现考试科目添加、考试倒计时、复习进度切换、优先级标记、状态筛选、计划删除和数量统计等功能。 最… 2026/7/3 3:22:52
联合体和枚举 一。联合体核心定义:一种自定义数据类型,所有成员共享一块内存空间,所以联合体也叫共用体,它的关键字为 union。给结构体其中一个成员赋值,其他成员的值也跟着变化(1)内存分配规则:… 2026/7/3 3:22:52
如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?面对日… 2026/7/3 0:01:58
3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址… 2026/7/3 0:05:59
2026江苏三维扫描仪定制厂家:一条很现实的分水岭——“会用”和“用对” 在江苏制造业的三维扫描项目里,有一个很容易被忽略的分界线: 👉 会用设备,不等于用对设备。 尤其在江苏GOM三维扫描仪定制厂家、江苏蔡司3D扫描仪定制厂家项目中,这条分界线会直接决定系统最终是“工具”,还… 2026/7/3 0:07:59