Chinaunix首页 | 论坛 | 博客
  • 博客访问: 247663
  • 博文数量: 33
  • 博客积分: 246
  • 博客等级: 二等列兵
  • 技术积分: 918
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-31 16:37
文章分类

全部博文(33)

文章存档

2014年(4)

2013年(7)

2012年(22)

分类: LINUX

2013-03-15 21:32:19

原文地址:busybox原理 作者:sjj0412

-------------------------------------------------------

本文系本站原创,欢迎转载!

转载请注明出处:http://sjj0412.cublog.cn/

-------------------------------------------------------


   我们知道当我们在shell下键入命令时,是shell创建一个进程运行对应你键入的程序,可想而知,这些命令程序之间没什么联系,故他们之间公共的代码需要在每个命令二进制程序中都有拷贝,而busybox相当于shell下各种命令的集合体,我们可以看成是它们链接而成的,这样这些命令之间公共的部分就只有一份拷贝了,从而可以减少这些命令程序的二进制文件总量,这些在象嵌入式系统这些资源紧张的系统中是很有必要的。那busybox又是怎样区分不同命令的呢。有两种方法:
1.用busybox 命令(如ls) 命令的参数
2.通常用的一种是
ln -s busybox ls
ls -s busybox 命令
为每个命令建立一个链接文件
执行时就执行./ls命令就可以
第一种方式实现原理很容易知道,命令是作为busybox的参数传入,然后就可以调用具体参数对应的名利。
第二种方式可能难理解一点,由符号链接我们可知,当键入具体命令时,都是执行busybox,如当键入ls是,由于ls是busybox的链接,其实执行的是busybox,那怎样来区分不同命令呢,其实当我们键入ls,ls这个字符串就作为busybox的第一个参数传入了,只是它隐晦一点,在第一种情况下,命令是通过第二个参数传入了。
阅读(3407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~