Shell的理解 一、什么是Shell 系统有哪些Shell1. 查看自己默认用的Shell我们登录Linux终端时自动运行的shell写在 /etc/passwd 文件里第7段就是默认shell。# 查看自己用户的配置cat /etc/passwd | grep 你的用户名示例输出zhangzy:x:1165:1165:,,,:/home/zhangzy:/bin/bash末尾 /bin/bash 代表我默认使用bash。2. Linux里常见的Shell系统所有shell程序都放在 /bin 文件夹执行这条命令查看全部ls -lF /bin/*sh常用shell简单介绍1. bash最常用我们上课全程用这个2. dash轻量小shell系统开机脚本用它3. zsh、csh拓展功能更强的shell可选使用4. sh不是独立程序是dash的快捷链接3. 切换不同shell想临时体验dash直接输入程序名想退出回到原来窗口输入exit/bin/dash # 进入dashexit # 退出dash返回bash二、父Shell和子Shell本节课重点1. 基础概念父Shell打开终端、登录系统自动弹出的第一个bash窗口最顶层shell。子Shell在父shell里输入bash、用括号包命令、后台运行程序时系统新建的一层shell。2. 实操创建多层子shellbash # 创建第1层子shellbash # 创建第2层子shellps --forest # 查看进程树能看到层层嵌套的bashexit # 退出一层子shell回到上一层每输一次bash就多一层子shellexit一层一层往上退。3. 怎么判断当前是不是子shell系统自带变量 $BASH_SUBSHELL输出0 当前是父shell输出1/2 处于1层/2层子shell对比两种命令写法1. 分号 ; 执行不产生子shellpwd; ls; echo $BASH_SUBSHELL# 结果输出0所有命令在父shell运行cd会改变当前文件夹2. 括号 () 执行生成子shell(pwd; ls; echo $BASH_SUBSHELL)# 结果输出1cd只会在括号内生效不会影响外面终端4. 后台运行命令 jobs管理命令末尾加 程序放到后台跑不卡住终端sleep 60 # 后台休眠60秒jobs # 查看所有后台任务jobs -l # 查看后台任务进程编号5. 协程 coproc拓展内容coproc 会自动在后台开一个子shell运行程序语法有严格要求1. { 前后必须有空格2. 最后一条命令末尾加分号 ;3. ; 和 } 中间留空格# 默认名字协程coproc sleep 10# 自定义协程名称coproc MyJob { sleep 10; }jobs -l # 查看协程任务三、两种命令内建命令 和 外部命令1. 外部命令是独立存在的文件存放在 /bin、/usr/bin运行时会新建子进程速度慢。比如ps、ls都属于外部命令。which ps # 查看命令文件位置type -a ps2. 内建命令直接集成在bash内部没有单独文件运行不需要新建子进程速度更快。cd、exit、history、alias都是内置命令。type cd # 输出 cd is a shell builtintype exit3. 特殊命令既有内置、又有外部文件echo、pwd 同时有两种版本type -a echo# 输出两行# echo is a shell builtin内置# echo is /bin/echo外部文件which echo # 只显示外部文件路径

相关新闻

最新新闻

基于谐波小波的ISAR成像目标识别:Matlab实现与工程实践

基于谐波小波的ISAR成像目标识别:Matlab实现与工程实践

简介:本资源是一套面向电子信息工程、计算机及数学等专业本科生的ISAR成像与目标识别教学实践方案,聚焦谐波小波在逆合成孔径雷达信号处理中的应用,解决高分辨成像与运动特征提取难题,适用于课程设计、期末大作业及毕业设计等中阶…

2026/8/30 5:33:01
STM32F405RGT6定制板SWD连接失败排查与调试实战

STM32F405RGT6定制板SWD连接失败排查与调试实战

1. 从“识别不到芯片”到“正常烧录调试”的完整排查思路STM32F405RGT6这个芯片,在定制板上出问题的概率比你想的高得多。我见过不少做项目的朋友,画板子的时候信心满满,结果板子打样回来,往CubeProgrammer上一插,弹出…

2026/8/30 5:33:01
MATLAB形态学水果识别分类:从图像分割到特征提取的完整实现

MATLAB形态学水果识别分类:从图像分割到特征提取的完整实现

简介:本资源是一个面向MATLAB初学者与计算机视觉入门者的水果图像识别分类实战项目,聚焦形态学预处理与传统机器学习方法,解决日常场景中基于图像的水果类别判别问题。压缩包共24个文件,包含20张水果实拍JPG样本(苹果、…

2026/8/30 5:33:01
B站社招后端开发面经:三轮技术面+HR面,两周拿Offer

B站社招后端开发面经:三轮技术面+HR面,两周拿Offer

先说结论,B站社招后端开发岗,三轮技术面加一轮HR面,前后两周出头拿到offer。整个过程复盘下来,我是真想把它写下来,不是炫耀,而是这里面有很多东西值得细说:项目怎么讲、系统设计怎么答、算法题…

2026/8/30 5:33:01
模型输出垃圾?读代码是关键:推理链路排查指南

模型输出垃圾?读代码是关键:推理链路排查指南

最近被一个问题问到:同一个模型,别人跑出来效果不错,自己跑出来却像垃圾,到底是模型不行,还是调用方式不对?我第一句话就是:你读代码了吗?对方愣了一下,说看输出文件确实…

2026/8/30 5:33:01
MCP协议与多智能体协作:从零搭建Python视频创作流水线

MCP协议与多智能体协作:从零搭建Python视频创作流水线

短视频平台的内容竞争越来越像一条自动化流水线在跑:脚本、分镜、配音、剪辑、字幕、封面,每个环节都有独立工具,但环节之间靠人工搬运,一个 3 分钟的视频往往要跨五六个软件,改一版字幕要重新导出渲染。如果你也在这个…

2026/8/30 5:28:01