Leksakslåda - Toybox

Leksakslåda
Ursprungliga författare Robert Landley
Utvecklare Robert Landley och andra
Initial release 2006 ; 15 år sedan ( 2006 )
Stabil frisättning
0.8.5 / 19 maj 2021 ; 3 månader sedan ( 2021-05-19 )
Förvar
Skrivet i C
Operativ system Unix-liknande
Storlek 814 KB (arkiverad)
Typ Oberoende implementering av SUSp XCU
Licens 0BSD
Hemsida www .landley .net /toybox

Toybox är en fri och öppen källkod implementering av över 200 Unix kommandoradsverktyg som ls , cp och mv . Den Toybox projektet startade 2006 och blev en 0BSD licensierad BusyBox alternativ. Toybox används för de flesta av Androids kommandoradsverktyg i alla Android -versioner som för närvarande stöds och används också för att bygga Android på Linux och macOS. Alla verktyg testas på Linux, och många av dem fungerar också på BSD och macOS.

Funktionalitet och mål

Toybox syftar till att ge en BSD licensierad ersättning för GPL licens BusyBox . Toybox stora tekniska designmål är enkelhet, litenhet, snabbhet och standardöverensstämmelse . Toybox syftar till att vara mestadels POSIX -2008 och LSB 4.1 kompatibel, och fokuserar inte på att ha alla alternativ som finns i GNU -motsvarigheter.

Toybox är licensierad med den tillåtna 0BSD -licensen , där BusyBox använder copyleft GNU General Public License , vilket ledde till olika användningsdomäner. BusyBox används mestadels i copyleft FOSS -domänen, medan Toybox används mest med tillåtna licensierade projekt och av kommersiella företag, t.ex. Googles Android , som är ett tydligt mål för Toybox. Funktionsmässigt har Toybox inte nått paritet med BusyBox.

Historia

Toybox startades i början av 2006 av Rob Landley efter att han avslutade sitt BusyBox -underhåll på grund av en tvist med Bruce Perens , den ursprungliga skaparen av BusyBox. 2008 gick projektet vilande. I slutet av 2011 föreslog Sony -medarbetaren Tim Bird att skapa ett tillåtet licensierat alternativ till BusyBox. Rob Landley höll med om detta mål och fortsatte arbetet med Toybox, med början från att återlicensiera från GPL-2.0- licensen till BSD-2-Clause- licensen. I mars 2013 licensierades projektet till en ännu mer tillåtande 0BSD -licens .

I slutet av 2014 integrerades Toybox i utvecklingsgrenarna för Android 6.0.x "Marshmallow" för användning på enheter. År 2018 lades en förbyggd värd Toybox till AOSP för att göra Android till att bygga sig mer hermetiskt.

Kontrovers

I januari 2012 drog förslaget om att skapa ett BSD -licensalternativ till GPL -licensierade BusyBox -projektet hård kritik från Matthew Garrett för att han tog bort det enda relevanta verktyget för upphovsrättsbekämpning av Software Freedom Conservancy -gruppen. Rob Landley, som hade startat de BusyBox-baserade stämningarna, svarade att detta var avsiktligt och förklarade att stämningarna inte hade gynnat projektet men att de hade lett till att företag undvek och uttryckte en önskan att stoppa rättegångarna "på vilket sätt jag tycker passar " .

Projektframsteg

Den officiella Toybox -dokumentationen innehåller en översikt över tillgängliga, delvis tillgängliga och saknade kommandon. Från och med maj 2021 uppnår version 0.8.5 cirka 80% av projektets implementeringsmål riktade till 1.0.

Lista över Toybox -kommandon
  • acpi - Visa status för strömkällor och termiska enheter.
  • adduser , addgroup - Lägg till en användare eller grupp i systemet.
  • ar - Skapa, ändra och extrahera från arkiv.
  • arch -Skrivmaskinens (maskinvara) namn, samma som uname -m.
  • arp - Address Resolution Protocol (ARP)
  • arping - Skicka ARP REQUEST till en grannvärd
  • ascii - Visa ascii -teckenuppsättning.
  • at - Utför kommandon vid ett senare tillfälle.
  • awk - mönsterskanning och bearbetningsspråk.
  • base32 - Koda eller avkoda i base32.
  • base64 - Koda eller avkoda i base64.
  • basename- Returnera icke-katalogdel av ett söknamn som tar bort suffix.
  • bc -Aritmetiskt språk med godtycklig precision.
  • blkdiscard - Kassera enhetssektorer.
  • blkid - Utskriftstyp, etikett och UUID för filsystem på en blockenhet eller bild.
  • blockdev - Ring ioctl (s) på varje listad blockenhet.
  • bunzip2 - Komprimera bzip2 -filer.
  • bzcat - Komprimera bzip2 -filer till stdout.
  • cal - Skriv ut en kalender.
  • cat - Kopiera (sammanfogade) filer till stdout.
  • catv - Visa tecken utan tryck som Escape -sekvenser.
  • cd - Ändra arbetskatalogen.
  • chattr - Ändra filattribut på ett Linux -filsystem.
  • chgrp - Ändra grupp med en eller flera filer.
  • chmod - Ändra läge för listade filer.
  • chown - Byt ägare till en eller flera filer.
  • chroot - Kör kommando i en ny rotkatalog.
  • chrt- Hämta/ställ in en process schemaläggningspolicy och prioritet i realtid.
  • chsh - Ändra ditt inloggningsskal.
  • chvt - Ändra till virtuellt terminalnummer N.
  • cksum - För varje fil, mata ut crc32 kontrollsummavärde, längd och filnamn.
  • rensa - Rensa skärmen.
  • cmp - Jämför innehållet i två filer.
  • comm - Välj eller avvisa rader som är gemensamma för två filer.
  • count - Kopiera stdin till stdout, visar enkel framstegsindikator till stderr.
  • cp - Kopiera filer.
  • cpio - Kopiera filer till och från ett "newc" format cpio -arkiv.
  • crc32 - Utmatning crc32 kontrollsumma för varje fil.
  • klipp ut - Skriv ut valda delar av rader från varje FIL till standardutmatning.
  • dd - Konvertera och kopiera en fil.
  • datum - Ställ in/få aktuellt datum/tid.
  • devmem - Läs/skriv fysisk adress via/dev/mem.
  • df - Visar totalt/använt/tillgängligt hårddiskutrymme för varje filsystem som anges på kommandoraden, eller alla för närvarande monterade filsystem.
  • diff - Jämför två filer.
  • dirname - Visa katalogdelen av sökvägen.
  • dmesg - Skriv ut eller styr kärnringens buffert.
  • dnsdomainname -Visa domän som detta system tillhör (samma som värdnamn -d).
  • dos2unix - Konvertera newline -format från dos "\ r \ n" till unix "\ n".
  • du - Visa diskanvändning, utrymme som förbrukas av filer och kataloger.
  • echo - Skriv varje argument till stdout, med ett mellanslag mellan varje, följt av en ny rad.
  • egrep - Visa rader som matchar utökade reguljära uttryck.
  • eject - Mata ut ENHET eller standard /dev /cdrom.
  • env - Ställ in miljön för kommandoinrop eller lista miljövariabler.
  • expand - Expandera flikar till mellanslag enligt tabstops.
  • faktor - Faktor heltal.
  • fallocate - Berätta för filsystemet att allokera utrymme för en fil.
  • false - Returnera noll.
  • fdisk - Manipulera diskpartitionstabellen.
  • fgrep - Visa rader som matchar reguljära uttryck.
  • fil - Undersök de angivna filerna och beskriv deras innehållstyper.
  • hitta - Sök i kataloger för matchande filer.
  • flock - Hantera rådgivande fillås.
  • vik - Filter för viklinjer.
  • fmt - Omformatera inmatning till wordwrap vid en given radlängd, bevara befintlig indragningsnivå, skriva till stdout.
  • ledigt - Visa den totala, lediga och använda mängden fysiskt minne och byt utrymme.
  • freeramdisk - Frigör allt minne som tilldelats den angivna ramdisken.
  • fsfreeze - Frys eller frigör ett filsystem.
  • fstype - Skriv ut filsystem på en blockenhet eller bild.
  • fsync- Synkronisera en fils kärnläge med lagringsenhet.
  • ftpget - Använd File Transfer Protocol (FTP) för att hämta en fil från en FTP -server.
  • ftpput - Använd File Transfer Protocol (FTP) för att lägga en fil till en FTP -server.
  • getconf - Hämta systemkonfigurationsvärden.
  • grep - Visa rader som matchar reguljära uttryck.
  • grupper - Skriv ut grupperna som en användare befinner sig i.
  • gunzip - Dekomprimera gz -filer.
  • stopp - Starta om, stoppa eller stäng av systemet.
  • head - Kopiera första raderna från filer till stdout.
  • hjälp - Visa användningsinformation för toybox -kommandon.
  • hexedit - Hexadecimal filredigerare .
  • värdnamn - Hämta/ställ in det aktuella värdnamnet.
  • hwclock - Hämta/ställ in hårdvaruklockan.
  • i2cdetect - Upptäck i2c -enheter.
  • i2cdump - Dumpa i2c -register.
  • i2cget - Läs ett i2c -register.
  • i2cset - Skriv ett i2c -register.
  • iconv - Konvertera teckenkodning av filer.
  • id - Skriv ut användar- och grupp -ID.
  • ifconfig - Visa eller konfigurera nätverksgränssnitt.
  • inotifyd - Kör ett program när en filsystemhändelse inträffar.
  • insmod - Ladda modulen med namnet MODULE -passningsalternativ om det ges.
  • installera - Kopiera filer och ange attribut.
  • ionice - Ändra I/O -schemaläggningsprioriteten för en process.
  • iorenice - Visa eller ändra I/O -prioritet för befintlig process.
  • iotop - Ranka processer med I/O.
  • kill - Skicka signal till process (er).
  • killall - Skicka en signal (standard: TERM) till alla processer med de angivna namnen.
  • killall5 - Skicka en signal till alla processer utanför den aktuella sessionen.
  • mindre - motsatsen till mer
  • länk - Skapa hårddisk till en fil.
  • ln - Skapa en länk mellan FRÅN och TILL.
  • logger - Logga meddelande (eller stdin) till syslog.
  • logga in - Logga in som användare och uppmana användarnamn och lösenord om det behövs.
  • lognamn - Skriv ut det aktuella användarnamnet.
  • losetup - Koppla en loopback -enhet till en fil eller visa aktuell fil (om sådan finns) associerad med en loop -enhet.
  • ls - Lista filer.
  • lsattr - Lista filattribut på ett Linux -filsystem.
  • lsmod - Visa de för närvarande laddade modulerna, deras storlekar och deras beroenden.
  • lspci - Lista PCI -enheter.
  • lsusb - Lista USB -värdar/enheter.
  • makedevs - Skapa en rad specialfiler som anges i en enhetstabell.
  • mcookie- Generera ett 128-bitars starkt slumptal.
  • md5sum - Beräkna md5 -hash för varje inmatningsfil, läs från stdin om ingen.
  • microcom - Enkel seriekonsol.
  • mix- Lista OSS-ljudkanaler (modul snd-mixer-oss) eller ställ in volym (er).
  • mkdir - Skapa en eller flera kataloger.
  • mkfifo - Skapa FIFO (namngivna rör).
  • mknod - Skapa en speciell fil NAME med en viss typ.
  • mkpasswd - Kryptera LÖSENORD med krypta (3).
  • mkswap - Konfigurera ett Linux -swapområde på en enhet eller fil.
  • mktemp - Skapa en ny fil "DIR/TEMPLATE" på ett säkert sätt och skriv ut dess namn.
  • modinfo - Visa modulfält för moduler som anges med namn eller .ko -sökväg.
  • mount - Montera nya filsystem på kataloger.
  • mountpoint - Kontrollera om katalogen eller enheten är en monteringspunkt.
  • mv - Flytta filer.
  • nbd-klient- Anslut till en NBD-server.
  • nc / netcat - Vidarebefordra stdin / stdout till en fil eller nätverksanslutning.
  • netstat - Visa nätverksinformation.
  • trevligt - Kör en kommandorad med en ökad eller minskad schemaläggningsprioritet.
  • nl - Antal rader för ingång.
  • nohup - Kör ett kommando som överlever slutet av dess terminal.
  • nproc - Skriv ut antalet processorer.
  • nsenter - Kör COMMAND i en befintlig (uppsättning) namnområden.
  • od - Dumpdata i oktal/hex.
  • oneit - Enkelt init -program som kör en enda levererad kommandorad
  • partprobe - Berätta för kärnan om partitionstabelländringar.
  • passwd - Uppdatera användarens autentiseringstoken.
  • klistra in - Slå samman motsvarande rader från varje inmatningsfil.
  • patch - Applicera en enhetlig diff på en eller flera filer.
  • pgrep - Sök efter process (er).
  • pidof - Skriv ut PID för alla processer med de angivna namnen.
  • ping - Kontrollera nätverksanslutningen genom att skicka paket till en värd och rapportera dess svar.
  • pivot root - Byt gamla och nya filsystem (som om de samtidigt monteras - flytta) och flytta alla processer med chdir eller chroot under OLD till NEW (inklusive kärntrådar) så att OLD kan avmonteras.
  • pkill - slå upp eller signalera processer baserade på namn och annat
  • pmap - Rapportera minneskartan för en eller flera processer.
  • poweroff - Starta om, stoppa eller stäng av systemet.
  • printenv - Utskriftsmiljövariabler.
  • printf - Formatera och skriv ut ARGUMENT (er) enligt FORMAT med C printf -syntax.
  • prlimit - Skriv ut eller ange resursgränser för processnummer PID.
  • ps - Lista processer.
  • pwd - Utskriftsarbetande (nuvarande) katalog.
  • pwdx - Skriv ut arbetskatalogen för processer som listas på kommandoraden.
  • readahead - Förinspelning av filer i hårddiskcache.
  • readlink - Visa vad symlink pekar på.
  • realpath - Visa det kanoniska absoluta sökvägsnamnet
  • starta om - Starta om, stoppa eller stäng av systemet.
  • renice - ställ in fina värden för löpande processer
  • reset - Återställ terminalen.
  • rev - Mata ut varje rad omvänd, när inga filer ges stdin används.
  • rfkill - Aktivera/inaktivera trådlösa enheter.
  • rm - Ta bort varje argument från filsystemet.
  • rmdir - Ta bort en eller flera kataloger.
  • rmmod - Ta bort modulen som heter MODULE från Linux -kärnan.
  • rtcwake - Ange det angivna viloläget tills den angivna tiden.
  • sed - Stream editor.
  • seq - Räkna från första till sista, med steg.
  • setfattr - Skriv utökade POSIX -attribut.
  • setsid - Kör processen i en ny session.
  • sha1sum - Beräkna sha -hash för varje inmatningsfil, läs från stdin om ingen.
  • strimla - Ta bort en fil på ett säkert sätt genom att skriva över dess innehåll med slumpmässig data.
  • sömn - Vänta innan du lämnar.
  • sntp - Simple Network Time Protocol -klient.
  • sortera - Sortera alla textrader från inmatningsfiler (eller stdin) till stdout.
  • split - Kopiera INPUT (eller stdin) data till en serie OUTPUT (eller "x") filer med alfabetiskt ökande suffix (aa, ab, ac ... az, ba, bb ...).
  • stat - Visa status för filer eller filsystem.
  • strings - Visa utskrivbara strängar i en binär fil
  • su - Byt användare, uppmanar till lösenord för ny användare när den inte körs som root.
  • swapoff - Inaktivera byte på en given bytesregion.
  • swapon - Aktivera byte på en viss enhet/fil.
  • switch root - Använd från PID 1 under initramfs för att frigöra initramfs, chroot till NEW_ROOT och exec NEW_INIT.
  • synk - Skriv väntande cachade data till disken (synkronisera), blockera tills det är klart.
  • sysctl - Läs/skriv systemkontrolldata (under/proc/sys).
  • tac - Utmatningslinjer i omvänd ordning.
  • svans - Kopiera sista raderna från filer till stdout.
  • tar - Skapa, extrahera eller lista filer i en .tar (eller komprimerad t? z) fil.
  • arbetsuppsättning - Starta en ny uppgift som bara kan köras på vissa processorer eller ändra processoraffiniteten för en befintlig PID.
  • tee - Kopiera stdin till varje listad fil och även till stdout.
  • test - Returnera sant eller falskt genom att utföra tester.
  • tid - Kör kommandoraden och rapportera verklig, användare och systemtid som förflutit i sekunder.
  • timeout - Kör kommandoraden som en underordnad process, skickar barnet en signal om kommandot inte går ut tillräckligt snart.
  • top - Visa processaktivitet i realtid.
  • touch - Uppdatera åtkomst- och modifieringstiderna för varje FIL till den aktuella tiden.
  • true - Return noll.
  • trunkera - Ställ in filens (er) längd och förläng den glest om det behövs.
  • tty - Visa filnamn för terminal ansluten till stdin.
  • tunctl - Skapa och ta bort tun/tryck på virtuella ethernet -enheter.
  • ulimit - Skriv ut eller ange resursgränser för processnummer PID.
  • umount - Avmontera de listade filsystemen.
  • uname - Skriv ut systeminformation.
  • unicode - universell teckenuppsättning.
  • uniq - Rapportera eller filtrera bort upprepade rader i en fil.
  • unix2dos - Konvertera newline -format från unix "\ n" till dos "\ r \ n".
  • ta bort länken - ta bort en fil.
  • unshare - Skapa nya behållarnamn för denna process och dess barn, så vissa attribut delas inte med den överordnade processen.
  • drifttid - Berätta den aktuella tiden, hur länge systemet har körts, antalet användare och genomsnittet för systembelastning under de senaste 1, 5 och 15 minuterna.
  • usleep - Paus för MICROSECONDS mikrosekunder.
  • uudecode - Avkoda en uuenkodad fil.
  • uuencode - Koda en binär fil.
  • uuidgen - Skapa och skriv ut ett nytt RFC4122 slumpmässigt UUID.
  • vconfig - Skapa och ta bort virtuella Ethernet -enheter.
  • vmstat - Skriv ut statistik över virtuellt minne.
  • w - Visa vem som är inloggad och sedan hur länge de loggade in.
  • titta -Kör PROG varannan sekund, visar utdata.
  • wc - Räkna in rader, ord och tecken.
  • som - Sök $ PATH efter körbara filer som matchar filnamn.
  • vakthund - programvara vakthund daemon.
  • vem - Skriv ut information om inloggade användare.
  • whoami - Skriv ut det aktuella användarnamnet.
  • xargs - Kör kommandoraden en eller flera gånger och lägger till argument från stdin.
  • xxd - Hexdumpa en fil till stdout.
  • ja - Upprepade gånger utgående linje tills den dödas.
  • zcat - Dekomprimera gz -filer till stdout.

Se även

Referenser

externa länkar