GNU/Linux >> Znalost Linux >  >> Linux

BusyBox:Švýcarský armádní nůž vestavěného Linuxu

Busybox je na své manuálové stránce popsán jako švýcarský armádní nůž vestavěného Linuxu. Kombinuje malé verze běžných unixových nástrojů do jediného malého spustitelného souboru. Poskytuje asi 400 implementací linuxových příkazů, jako jsou more, less, head, tail, grep, awk, sed, dpkg, všechny zkompilované do jediné binární verze.

Tento spustitelný soubor má malou velikost (méně než 1 MB), a proto je užitečný v situacích, kdy jsme omezeni z hlediska místa na disku, např. spuštěním celého dočasného operačního systému na disku RAM, vestavěných systémů, mobilních zařízení a podobně.

Busybox podívá se na jméno, kterým je volán, a bude se chovat podle požadovaného programu, například když zavoláme busybox přes symbolický odkaz ls , provede akci podobnou příkazu ls podobně, pokud ji zavoláme prostřednictvím mkdir symbolický odkaz, provádí podobné akce jako mkdir .

Instalace BusyBoxu v Linuxu

V Linuxu , můžete nainstalovat BusyBox pomocí vašeho výchozího správce balíčků, jak je znázorněno.

$ sudo apt install busybox         [On Debian, Ubuntu and Mint]
$ sudo yum install busybox         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/busybox  [On Gentoo Linux]
$ sudo pacman -S busybox           [On Arch Linux]
$ sudo zypper install busybox      [On OpenSUSE]  
$ sudo apk add busybox             [On  Alpine] 
$ docker run cmd.cat/busybox busybox  [On Docker]  

Pokud zde není uvedena vaše aktuální distribuce Linuxu, můžete se podívat na odkaz v sekci reference, jak ji nainstalovat.

Jak používat BusyBox v Linuxu

Chcete-li začít, spusťte příkaz busybox bez jakýchkoli možností nebo příznaků.

# busybox

Výstupem je seznam všech příkazů podporovaných busyboxem spolu s dalšími užitečnými možnostmi.

Chcete-li zobrazit přesné příkazy, můžeme je uvést následovně:

# busybox --list

Chcete-li zobrazit velikost souboru binárního souboru, který zapisujeme.

# cd /usr/sbin/ && du -h busybox  

Mnohem jasnější obrázek získáme, když porovnáme možnosti příkazu z prostředí Linuxu a shellu busybox.

# grep --help          [Shell]
# busybox grep --help  [Busybox]

Jak můžete vidět z výstupu obou provedení, některé možnosti z linuxového shellu nejsou dostupné ve výstupu z busyboxu. Ve většině případů zjistíme, že možnosti busybox jsou vše, co potřebujeme k provádění konkrétních úkolů v běžných aplikacích, jako jsou zařízení IoT.

Aby bylo možné používat busybox příkazy, zapisujeme příkazy, kterým předchází klíčové slovo busybox, například pro hledání řetězce pomocí příkazu grep, který píšeme.

# busybox grep "SearchString" file.txt

Výše uvedený příkaz funguje podobně jako příkaz v prostředí Linux.

Alternativně můžeme také přistupovat k shellu busybox a vyhnout se použití klíčového slova busybox pokaždé, když potřebujeme provést následující příkazy.

# busybox sh

Zatímco jsme v shellu, můžeme normálně spouštět příkazy, jako bychom byli v linuxovém shellu.

# grep "SearchString" file.txt 

Pro ukončení shellu napište.

# exit

Busybox je napsán s ohledem na omezené zdroje a optimalizaci velikosti. Jeho modularita umožňuje zahrnutí a vyloučení příkazů/funkcí v době kompilace, protože můžeme zahrnout pouze komponenty, které potřebujeme, a proto je snadné přizpůsobit jeho implementaci v systémech, jako jsou mobilní, vestavěné atd.

Obecně řečeno, nepotřebujeme busybox v našich linuxových systémech, protože již máme celý balíček, jak bylo zmíněno, je užitečné v případech, kdy máme omezené množství místa na disku pro práci.


Linux
  1. Linux vs. Unix:Jaký je rozdíl?

  2. Jak se Linux dostal k sálovému počítači

  3. Životní cyklus testování linuxového jádra

  1. Jak používat BusyBox na Linuxu

  2. Zvládněte příkaz Linux ls

  3. Úvod do příkazu alternatives v Linuxu

  1. Vyzkoušejte textový editor e3 Linux

  2. Pensela:Švýcarský armádní nůž nástrojů pro anotaci obrazovky

  3. Vyhledejte příkaz v Linuxu