大家好,今天来为大家解答Linux 中的BusyBox 是什么?如何使用?这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
GNU Coreutils 几乎是各种UNIX/Linux 命令的事实上的提供者,几乎因为总是有替代品,而BusyBox 是GNU Coreutils 的替代品之一。
什么是BusyBox?
BusyBox 是一个开源项目,提供大约400 个常见UNIX/Linux 命令的简化实现。
BusyBox 实现删除了不常见、很少使用的命令选项,并且所有内容都小于1 MB。这种最小的图像是它在嵌入式系统和物联网世界以及云计算世界中流行的原因。
别看它的大小,BusyBox 具有像经典编辑器一样的sed 和awk 的范围(同样是精简版本),它还包含自己的shell,它甚至包含一个可以作为PID 1 启动的init 命令,这意味着BusyBox 可以配置为Systemd、OpenRC 等的替换。
BusyBox 是GNU Coreutils 的绝佳替代品,特别是在操作系统的小尺寸很重要的情况下。
BusyBox 为您提供了mv、mkdir、ls 等流行的Linux 命令,但它仅包含这些命令的常用选项。这种极简主义是BusyBox 的独特卖点。
您没有使用 BusyBox 获得完整的 Linux 命令选项是一个问题吗?
这取决于您的需要,实际上,大多数人永远不需要该命令的所有选项。一些Linux 命令有超过50 个选项,我敢打赌您甚至从未使用过单个Linux 命令的所有选项。
BusyBox 减少了很少使用的选项,例如ls 命令有选项G,它从长列表输出中删除组名称(ls -l)。
现在,我认为您不需要这个选项,这就是为什么它不存在于BusyBox 的ls 实现中,如果您确实需要不包含组名称的输出,您所要做的就是使用cut 或awk 用于此目的命令。
我们再举一个例子。以下是GNU Coreutils 中mv 命令的帮助页面:
用法: mv [选项]. [-T] SOURCE DEST 或: mv [选项]. SOURCE. DIRECTORY 或: mv [选项]. -t DIRECTORY SOURCE.将SOURCE 重命名为DEST,或移动SOURCE (s) 到DIRECTORY。长选项的强制参数对于短选项也是强制的。 –backup[=CONTROL] 对每个现有目标文件进行备份-b 与–backup 类似,但不接受参数-f, –force 在覆盖前不提示-i, –interactive 在覆盖前提示-n, –no-clobber 不覆盖现有文件如果指定-i、-f、-n 中的多个选项,则仅最后一个生效。 –strip-trailing-slashes 从每个SOURCE 参数中删除任何尾部斜杠-S, –suffix=SUFFIX 覆盖通常的备份后缀-t, –target-directory=DIRECTORY 将所有SOURCE 参数移至DIRECTORY -T, — no -target-directory 将DEST 视为普通文件-u, –update 仅当源文件比目标文件新或目标文件丢失时才移动-v, –verbose 解释正在执行的操作-Z, – -context 将目标文件的SELinux 安全上下文设置为默认类型–help 显示此帮助并退出–version 输出版本信息并退出现在,这是BusyBox 的mv 命令帮助页面:
用法: mv [-fin] SOURCE DEST或: mv [-fin] SOURCE.DIRECTORY将SOURCE重命名为DEST,或将SOURCE移动到DIRECTORY -f 覆盖前不提示-i 交互,覆盖前提示-n Dont覆盖现有文件看到区别了吗?
如何获得 BusyBox?
您可以通过多种方式获取BusyBox。
如果您只想在当前的Linux 发行版上尝试BusyBox,则可以使用发行版的包管理器(例如Apt、DNF 或Yum)来安装它。
在Ubuntu 上,您可以使用以下命令安装BusyBox:
sudo apt install busybox 后,如果要运行BusyBox 版本的命令,必须在前面添加busybox。
busybox cat example.txt 如果不执行BusyBox命令,会抛出“找不到小程序”的错误。
abhishek@LHB:~$ busybox xyzxyz: 小程序未找到或者,您可以下载BusyBox 的Docker 镜像并在运行的容器中体验它。
请确保您已安装Docker 并拉取官方docker 镜像:
docker pull busybox 从镜像运行一个容器并进入BusyBox shell:
docker run -it –rm busybox 您在此处运行的每个Linux 命令都来自BusyBox。您不需要明确指定它。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/146254.html
用户评论
孤独症
终于明白 BusyBox 的用处了! 以前在没有 root 권한 的环境下总觉得操作 Linux 非常不方便,现在才知道可以用 BusyBox 来解决好多问题。这确实是个好工具。
有15位网友表示赞同!
铁树不曾开花
这个文章讲解得还不错,我之前也听过这个名词,但一直不知道它具体做什么,看了之后终于明白了,而且例子也很容易理解。我打算以后在嵌入式系统开发中好好用到他来学习!
有10位网友表示赞同!
微信名字
对BusyBox的介绍很好,只是希望作者能多讲一些常见的 BusyBox 命令的使用方法和技巧,这样对于初学者更有帮助。
有5位网友表示赞同!
来自火星球的我
Linux 里面这么多工具,为什么非要用 BusyBox? 我觉得还是传统的 Linux 工具更加好用,至少功能更全面。而且我感觉 BusyBox 的界面太简单了,没有视觉体验感…
有16位网友表示赞同!
一个人的荒凉
嵌入式系统常用的工具就是BusyBox啊!以前没明白为什么别人说它很方便,现在看来确实如此,它真的可以让我在硬件有限的情况下完完全全地运行 Linux 操作系统。
有17位网友表示赞同!
安好如初
我感觉文章重点有点偏向于介绍 BusyBox 的功能,不太注重使用场景。如果能结合一些实际的应用例子更好理解它的意义和价值吧!
有6位网友表示赞同!
经典的对白
这篇文章把 BusyBox 看作是一些独立命令集的集合是挺合理的,但我觉得它更像是一个轻量化工具箱,可以帮助我们快速完成很多日常操作。
有17位网友表示赞同!
坏小子不坏
对于新手来说,文章介绍了 BusyBox 的基础概念,但是没有涉及到如何安装和卸载 BusyBox 以及一些常用的常用命令参数, 会让新手在上手过程中遇到阻碍。
有9位网友表示赞同!
摩天轮的依恋
以前在做嵌入式开发一直用 BusyBox,感觉它真的方便好用,这个文章讲得也很好,对于初学者来说是个很好的入门文档!建议作者可以在文末添加一些高级应用场景的介绍,吸引更多的读者。
有14位网友表示赞同!
有些人,只适合好奇~
BusyBox 确实是一个很厉害的小工具,可以替代很多传统的 Linux 工具。学习一下它的使用方法,在嵌入式开发中会让我们事半功倍!
有15位网友表示赞同!
_心抽搐到严重畸形っ°
我一直觉得 Linux 命令太复杂难以记忆, 这时候 BusyBox 就显得特别好用,它包含了很多常用的命令,可以直接用起来,不需要额外学习那么多指令.
有14位网友表示赞同!
执念,爱
这个文章写的很好,清晰易懂。我以前就知道 BusyBox 的名字,但对它的实际用途没有深入了解. 看完这篇文章后,我对 BusyBox 有了一个初步的认识。
有8位网友表示赞同!
巷陌繁花丶
BusyBox 最终解决了我很多嵌入式开发中的难题,它节省了很多空间和计算资源,让我在极度有限的硬件环境下也能完成许多功能。感谢发明者们的智慧!
有15位网友表示赞同!
北染陌人
我觉得文章还是比较浅显的,没有深入探讨 BusyBox 的优缺点以及与其他开源工具的对比分析。如果能更加全面地介绍它,对读者更有帮助。
有7位网友表示赞同!
墨染殇雪
这篇博文很有参考价值,让我对 BusyBox 有了更深的理解。我之前也尝试过使用,但总是遇到一些问题。文章中的一些技巧和建议对我非常有帮助!
有17位网友表示赞同!
青衫负雪
BusyBox 真的是个很神奇的工具,它压缩了很多的功能进而节省了大量空间,在资源有限的环境下简直是必不可少的工具了!
有17位网友表示赞同!
断秋风
写文章的时候要不要考虑一下不同水平用户的阅读体验啊?对于新手来说,可能不太明白一些较深的知识点。建议作者能添加一些更详细的解释和示例.
有5位网友表示赞同!