论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
运维.售后
›
运维.售后
›
[Linux] Shell 命令及运行原理
[Linux] Shell 命令及运行原理
火影
金牌会员
|
2024-12-27 05:41:17
|
显示全部楼层
|
阅读模式
楼主
主题
798
|
帖子
798
|
积分
2394
在 Linux中学到 Shell 应该是每个学习进阶系统系统人都必须要系统相识的基础课题。作为操作系统进行操控的紧张接口,知道 Shell 为什么能运行命令,以及其内部原理,对于报错调试和系统深入相识尤为紧张。
本文将通过紧张两个部分介绍 Shell 的基础知识和命令执行的原理流程。
1. 什么是 Shell?
Shell
是 Linux 和 Unix 系统中的
命令行解释器
,调用用户输入的命令来与操作系统焦点进行交互。
进入 Shell 就像进入一个为您开放的环境,你可以在这里输入指令。
Shell 能夠识别命令,解释为可执行的代码,然后通过系统调用为你进行实现。
常见的 Shell 系统
Bash
– 最常用的 Shell,默认的 Linux Shell;
Zsh
– 增强了 Bash 功能,配置性很强。
Fish
– 一个紧张在雅观和友好性方面做了优化的 Shell;
Sh
– Unix 原生的一种 Shell。
2. Shell 命令的运行原理
在 Shell 中输入命令后,一个命令会经历一系列流程来执行:
流程图
用户输入命令
↓
Shell 解析命令(变量替换、通配符展开等)
↓
查找命令(内置、外部或自定义脚本)
↓
添加命令到子进程中,fork 和 exec
↓
运行命令,返回结果,显示于终端
复制代码
对于
外部命令
,运行过程更加具体:
Shell 程序通过
fork
调用创建一个新的子进程;
子进程通过
exec
调用加载命令对应的执行文件;
Shell 等待子进程运行完成,返回选择状态和输出结果。
3. Shell 命令分解步调
以输入一条命令为例:
ls -l /home/user
复制代码
分解步调:
解析
Shell 分解命令,被分成
ls
(命令名),-l(选项),以及 /home/user(参数)。
变量替换
如果有变量,进行替换。
查找命令
Shell 通过 PATH环境变量查找 ls 命令在文件系统中的位置。
fork
Shell 通过 fork() 创建子进程。
exec
子进程通过 exec() 加载 /bin/ls 实现进程执行。
返回结果
命令执行结果显示在终端上。
4. 总结
Shell 在操作系统中起着课程解释和命令执行的紧张作用,其原理根据以下步调运行:
输入解析
查找命令
fork 和 exec
执行命令
结果显示
深入相识这个流程,可以在命令行上可以更好地调试和解决问题。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
火影
金牌会员
这个人很懒什么都没写!
楼主热帖
最全Windows98原版系统镜像下载(特点 ...
Redis 原理 - String
用python反弹shell
微信小程序+web数据库的开发实践 ...
SAP各模块优缺点和发展简析
Spring(SpringBoot)--解决拦截器中注入 ...
如何配置 SLO
LOOK!两步控制直播APP源码平台的稳定 ...
Spring Security登录表单配置(3) ...
已测试安卓11
标签云
挺好的
服务器
快速回复
返回顶部
返回列表