news 2026/2/28 17:49:53

7、UNIX 外壳:从基础到高级编程的全面指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7、UNIX 外壳:从基础到高级编程的全面指南

UNIX 外壳:从基础到高级编程的全面指南

1. 什么是外壳?

在与各种发明交互时,人类通常会借助特定的接口点来实现预期的结果,比如驾驶马车、操作飞机或弹奏钢琴。在 UNIX 系统中,这个接口点就是外壳(shell)。外壳是一个程序层,为用户提供了一个输入命令和参数的环境,以实现特定的操作。为了满足不同的需求,UNIX 提供了多种类型的外壳,如 Bourne、Bourne Again、Korn 和 C 外壳等。

1.1 内核与外壳的交互

当 UNIX 系统启动时,内核程序unix会被加载到计算机的主内存中,直到系统关闭才会退出。在启动过程中,init程序作为后台任务运行,它会扫描/etc/inittab文件,该文件列出了具有终端的端口及其特性。当找到一个活动的开放终端时,init会调用getty程序,该程序会在终端监视器上显示login:提示。用户登录时,输入用户名后,getty会提示输入密码,接着调用login程序在/etc/passwd文件中查找匹配项。如果匹配成功,用户将被带到其主目录,并将控制权传递给会话启动程序,通常是一个外壳程序,如/bin/sh(Bourne 外壳)。

graph LR A[系统启动] --> B[加载内核程序 un
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/21 7:00:38

8、深入了解Bash:功能、安装与使用指南

深入了解Bash:功能、安装与使用指南 1. 引言 Bash(GNU Bourne Again Shell)是GNU项目的shell,基于Bourne shell(sh)开发。它融合了c shell(csh)、tc shell(tcsh)和Korn shell(ksh)的特性,与sh差异较小,多数sh脚本可在Bash中直接运行。Bash由Brian Fox编写,目前…

作者头像 李华
网站建设 2026/2/8 3:32:54

Open-AutoGLM 实战:手把手教你用 AI 做App自动化测试「喂饭教程」

Open-AutoGLM 实战:手把手教你用 AI 做App自动化测试「喂饭教程」前言开始之前的几点说明准备工作第一步:Python 环境第二步:安装 ADB 工具第三步:准备你的 Android 手机快速部署:10 分钟搞定克隆项目到本地创建独立的…

作者头像 李华
网站建设 2026/2/27 7:15:22

存储引擎内核:深入解析 LSM-Tree 原理与高吞吐写入实践

【精选优质专栏推荐】 《AI 技术前沿》 —— 紧跟 AI 最新趋势与应用《网络安全新手快速入门(附漏洞挖掘案例)》 —— 零基础安全入门必看《BurpSuite 入门教程(附实战图文)》 —— 渗透测试必备工具详解《网安渗透工具使用教程(全)》 —— 一站式工具手册《CTF 新手入门实战教…

作者头像 李华
网站建设 2026/2/27 15:03:07

保姆级教程:iPhone 某人短信消失?9 种解决方法,小白也会用

当某个联系人的短信突然从你的 iPhone 上消失时,你会感到很沮丧。你知道你没有删除它们,但整个对话却神秘地消失了。你并不孤单。许多 iPhone 用户在论坛上都报告了这个问题。无论是 iOS 故障、同步问题还是意外删除,本文都会从各个角度进行分…

作者头像 李华
网站建设 2026/2/27 8:46:55

31、进程间通信:信号、管道与套接字详解

进程间通信:信号、管道与套接字详解 1. 信号设置与处理 信号是进程间通信的重要方式之一,在处理信号时,我们可以设置不同的信号行为。以下是信号行为设置的相关模式: | 操作 | System V 模式 | POSIX 模式 | | — | — | — | | 忽略信号 | sigaction(signo,new,old) …

作者头像 李华