手把手教你北邮操作系统小学期实验四——Linux Shell小型化1

接上一章 手把手教你北邮操作系统小学期实验三——ARM/ucLinux-SkyEye的安装,配置与集成4

此实验是队友做的。

1. 实验目的:

  • Shell 是一种 Linux 系统与用户的交互方式,是最基本也是最重要的一个应用程序。 很多嵌入式系统也离不开 Shell。Red Hat Linux 所用的 shell 是 BASH。BASH 功能强大, 但高达 500 多 K,如果把所需要的库以及应用程序包括起来大小会有 3M 到 4M,用在 嵌入式系统并不是很合适。
  • 体积更小的 shell 主要有 BusyBox 和 ash,BusyBox 目前在嵌入式 Linux 中使用较 多。BusyBox 将大量的 UNIX 工具集成到一个可执行文件中,实现了 UNIX 环境下所 使用的文件操作、文本编辑、压缩数据等工具。目前 BusyBox 提供了 107 个命令的功 能。在 i386 体系结构下,可执行文件的大小只有几百 KB。
  • 本实验要求学生针对 PC 机上的 Linux 系统发行版本,理解 Linux 根文件系统组织 结构,通过 Linux 系统内核/系统的配置,将应用程序 BusyBox 放入文件系统,利用 BusyBox 替换原有的 shell,掌握 Linux 系统 shell 小型化方法。

2. 实验原理:

分别下载bash源码和Busybox源码对比分析,对Busybox使用与配置内核的方式配置所需的功能。

3. 实验内容:

a) 理解 Linux 根文件系统组织结构,按照参考文献[1]“6.4.3 小型化 shell”的内容
b)用在新的 shell 下运行各类 shell 命令,验证替换过程的正确性

4. 实验步骤:

比较不同版本shell命令行数和代码量

查看当前linux上的shell类型和版本
在这里插入图片描述
由于linux中没有对应的bash源码,因此需要在gnu.org上下载对应版本。本次实验下载的版本为coreutils-5.0。

路径…/coreutils-5.0/src中共有94个.c文件,一共56438行代码。
在这里插入图片描述
本次使用的busybox版本为busybox-1.1.0,在其coreutils/路径下共70个.c源文件文件,一共12318行代码。
在这里插入图片描述
编译完成后ash和bash大小比较:
在这里插入图片描述

bash的命令主要在/bin和/sbin目录下:
在这里插入图片描述
/bin目录下
在这里插入图片描述
/sbin目录下

bash的命令十分繁多

下一章 手把手教你北邮操作系统小学期实验四——Linux Shell小型化2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值