Heim > Artikel > Betrieb und Instandhaltung > Was ist Linux Busybox?
busybox ist ein Entwicklungstool zur Entwicklung von Software unter Linux-Systemen. Es handelt sich um eine Software, die mehr als 300 der am häufigsten verwendeten Linux-Befehle und -Tools integriert. Einfach ausgedrückt ist BusyBox wie eine große Toolbox. Sie integriert und komprimiert viele Tools und Befehle von Linux und enthält auch die eigene Shell des Linux-Systems. BusyBox ist eine hervorragende Alternative zu GNU Coreutils, insbesondere wenn die geringe Größe des Betriebssystems wichtig ist.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
BusyBox erfreut sich immer größerer Beliebtheit, insbesondere bei Docker-Benutzern. Viele Docker-Images verwenden BusyBox, um Ihnen minimale Images bereitzustellen.
Dies kann für viele Benutzer besonders verwirrend sein, wenn Sie Linux-Befehle für selbstverständlich halten und denken, dass ls, mv und andere solche Befehle Teil von Linux sind, obwohl diese Befehle tatsächlich Teil des GNU Coreutils-Pakets und der meisten Linux-Geräte sind Distributionen sind vorinstalliert.
GNU Coreutils ist fast der De-facto-Anbieter verschiedener UNIX/Linux-Befehle, fast weil es immer Alternativen gibt, und BusyBox ist eine der Alternativen zu GNU Coreutils.
busybox ist ein Entwicklungstool zur Entwicklung von Software unter Linux-Systemen.
BusyBox ist ein Open-Source-Projekt, das optimierte Implementierungen von etwa 400 gängigen UNIX/Linux-Befehlen bereitstellt.
BusyBox ist eine Software, die mehr als 300 der am häufigsten verwendeten Linux-Befehle und -Tools integriert. BusyBox enthält einige einfache Tools wie ls, cat, echo usw. sowie einige größere und komplexere Tools wie grep, find, mount und telnet. Manche Leute nennen BusyBox das Schweizer Taschenmesser unter den Linux-Tools. Einfach ausgedrückt ist BusyBox wie eine große Toolbox. Sie integriert und komprimiert viele Tools und Befehle von Linux und enthält auch die eigene Shell des Linux-Systems.
Die BusyBox-Implementierung entfernt ungewöhnliche, selten verwendete Befehlsoptionen, alles ist weniger als 1 MB groß. Dieses minimale Image ist der Grund, warum es in der eingebetteten System- und IoT-Welt sowie in der Cloud-Computing-Welt beliebt ist.
Schauen Sie nicht auf die Größe, BusyBox hat den Umfang von sed und awk wie ein klassischer Editor (wieder eine Lite-Version), es enthält auch eine eigene Shell, es enthält sogar einen Init-Befehl, der als PID 1 gestartet werden kann, was bedeutet, dass BusyBox als Ersatz für Systemd, OpenRC usw. konfiguriert werden kann.
BusyBox ist eine großartige Alternative zu GNU Coreutils, insbesondere wenn die geringe Größe des Betriebssystems wichtig ist.
BusyBox bietet Ihnen beliebte Linux-Befehle wie mv, mkdir, ls usw., enthält jedoch nur allgemeine Optionen für diese Befehle. Dieser Minimalismus ist das Alleinstellungsmerkmal von BusyBox.
Es hängt wirklich von Ihren Bedürfnissen ab, die meisten Menschen werden nie alle Optionen des Befehls benötigen. Einige Linux-Befehle verfügen über mehr als 50 Optionen, und ich wette, Sie haben noch nie alle Optionen für einen einzelnen Linux-Befehl verwendet.
BusyBox reduziert selten verwendete Optionen, zum Beispiel verfügt der Befehl ls über die Option G, die Gruppennamen aus der Ausgabe langer Listen entfernt (ls -l).
Nun, ich glaube nicht, dass Sie diese Option jemals benötigen. Deshalb gibt es sie in der BusyBox-Implementierung von ls nicht. Wenn Sie eine Ausgabe benötigen, die die Gruppennamen nicht enthält, müssen Sie nur dies tun Tun Sie dies. Verwenden Sie zu diesem Zweck den Befehl „cut“ oder „awk“.
Gib mir noch ein Beispiel. Dies ist die Hilfeseite für den mv-Befehl von GNU Coreutils:
Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -Z, --context set SELinux security context of destination file to default type --help display this help and exit --version output version information and exit
Hier ist nun die Hilfeseite für den mv-Befehl von BusyBox:
Usage: mv [-fin] SOURCE DEST or: mv [-fin] SOURCE... DIRECTORY Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY -f Don't prompt before overwriting -i Interactive, prompt before overwrite -n Don't overwrite an existing file
Sehen Sie den Unterschied?
BusyBox kann auf viele Arten erworben werden.
Wenn Sie BusyBox nur auf Ihrer aktuellen Linux-Distribution erleben möchten, können Sie es mit dem Paketmanager Ihrer Distribution (wie Apt, DNF oder Yum) installieren.
Unter Ubuntu können Sie BusyBox mit dem folgenden Befehl installieren:
sudo apt install busybox
Wenn Sie danach die BusyBox-Version des Befehls ausführen möchten, müssen Sie BusyBox davor hinzufügen.
busybox cat sample.txt
Wenn BusyBox den Befehl nicht implementiert, wird die Fehlermeldung „Applet nicht gefunden“ ausgegeben.
abhishek@LHB:~$ busybox xyz xyz: applet not found
Alternativ können Sie das Docker-Image von BusyBox herunterladen und es in einem laufenden Container ausprobieren.
Stellen Sie sicher, dass Sie Docker installiert haben, rufen Sie das offizielle Docker-Image ab:
docker pull busybox
Führen Sie einen Container aus dem Image aus und rufen Sie die BusyBox-Shell auf:
docker run -it --rm busybox
Jeder Linux-Befehl, den Sie hier ausführen, stammt von BusyBox. Sie müssen es nicht explizit angeben.
Zusammenfassend lässt sich sagen, dass Sie BusyBox nicht auf einem normalen Linux-System verwenden müssen, Sie verfügen bereits über die Vollversion der Linux-Befehle von GNU Coreutils. Die Lite-Version muss nicht installiert werden.
Aber BusyBox hat seine Einsatzmöglichkeiten in speziellen Bereichen, etwa bei der Konfiguration eines minimalen Linux-Betriebssystems für Embedded- oder IoT-Geräte. Dies gilt auch, wenn Sie die Größe Ihres Docker-Images klein halten möchten.
Verwandte Empfehlungen: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Linux Busybox?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!