Busy Box - Unix utilities in a single EXE
Busy Box - Unix utilities in a single EXE
[Moderator note: this thread was split from the Windows GREP thread.]
---
Hey guys/gals, might be of interest to some that there's a Windows BusyBox binary available HERE
BusyBox applets are usually not the full versions of their counterparts (read: stripped versions) but I thought it might be useful to some.
Direct Download: http://dl.dropbox.com/u/5943991/busybox-w32/busybox.exe
VirusTotal: https://www.virustotal.com/en/file/f195 ... /analysis/
~Ruby
---
Hey guys/gals, might be of interest to some that there's a Windows BusyBox binary available HERE
BusyBox applets are usually not the full versions of their counterparts (read: stripped versions) but I thought it might be useful to some.
Direct Download: http://dl.dropbox.com/u/5943991/busybox-w32/busybox.exe
VirusTotal: https://www.virustotal.com/en/file/f195 ... /analysis/
~Ruby
Re: Windows GREP
... All of that in a 622 KB single binary! Cool.
According to http://busybox.net/, latest busybox stable is v1.20.1, so getting v1.19.1 for Windows is actually great -- my guess is the corresponding code is from around August 2011, not as outdated as other versions I've seen around. For quick reference, here's the full grep 'man page'...
And here's a great yet easy tip for running busybox commands directly:
According to http://busybox.net/, latest busybox stable is v1.20.1, so getting v1.19.1 for Windows is actually great -- my guess is the corresponding code is from around August 2011, not as outdated as other versions I've seen around. For quick reference, here's the full grep 'man page'...
Code: Select all
BusyBox v1.19.1_18_0-306-geb28f73.git (2011-01-16 17:56:02 ICT) multi-call binary.
Usage: grep [-HhnlLoqvsriwFEz] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]...
Search for PATTERN in FILEs (or stdin)
Options:
-H Add 'filename:' prefix
-h Do not add 'filename:' prefix
-n Add 'line_no:' prefix
-l Show only names of files that match
-L Show only names of files that don't match
-c Show only count of matching lines
-o Show only the matching part of line
-q Quiet. Return 0 if PATTERN is found, 1 otherwise
-v Select non-matching lines
-s Suppress open and read errors
-r Recurse
-i Ignore case
-w Match whole words only
-F PATTERN is a literal (not regexp)
-E PATTERN is an extended regexp
-z Input is NUL terminated
-m N Match up to N times per file
-A N Print N lines of trailing context
-B N Print N lines of leading context
-C N Same as '-A N -B N'
-e PTRN Pattern to match
-f FILE Read pattern from file
zcattacz wrote:Try this:. Save it to busybox.sh laying besides busybox.exe;Code: Select all
for cmd in `./busybox.exe --list` ; do echo '@"%~dp0busybox.exe" %~n0 %*'>${cmd}.bat ; done
. Open cmd console cd into that folder run "busybox.exe sh busybox.sh";
There you go, [you can] now try "cat busybox.sh"
Last edited by Midas on Fri Apr 20, 2018 3:48 am, edited 2 times in total.
Re: Windows GREP
@Midas - latest busybox stable is v1.20.2
Or... you could just rename the BB executable to it's default shell (e.g. ash.exe or sh.exe) and create a shortcut
Or... you could create a .bat file to launch BB with it's default shell:
~Ruby
Or... you could just rename the BB executable to it's default shell (e.g. ash.exe or sh.exe) and create a shortcut
Or... you could create a .bat file to launch BB with it's default shell:
Code: Select all
@echo off
SET PATH=%~dp0;%PATH%
busybox.exe sh
Re: Windows GREP
That's a sweet little package! Unfortunately, Unicode doesn't appear to be a priority. Only the following 4 utilities are reported as being 'fixed' for unicode:BusyBox
- cal
- lsmod
- df
- dumpleases
See the TODO_unicode file, which appears to be unchanged in new versions as well.
Re: Windows GREP
BusyBox
rmyorston's busybox-w32 is a fork of pclouds' busybox-w32 (I previously posted)
Website: https://frippery.org/busybox/
The latest version is always: busybox.exe - busybox64.exe
https://frippery.org/files/busybox/busybox.exe
https://frippery.org/files/busybox/busybox64.exe
~Ruby
note to mod: possible hi-jack; feel free to repurpose, e.g. >chit-chat>busybox
rmyorston's busybox-w32 is a fork of pclouds' busybox-w32 (I previously posted)
Website: https://frippery.org/busybox/
The latest version is always: busybox.exe - busybox64.exe
https://frippery.org/files/busybox/busybox.exe
https://frippery.org/files/busybox/busybox64.exe
~Ruby
note to mod: possible hi-jack; feel free to repurpose, e.g. >chit-chat>busybox
Last edited by Ruby on Tue Oct 03, 2017 3:55 am, edited 1 time in total.
Re: Busybox & UnixKit-tiny
While checking something else, I noticed that the latest version mentioned at the Busybox official webpage is v1.21.1, so this info might not be completely accurate...Ruby wrote:@Midas - latest busybox stable is v1.20.2
Also, for an UnxUtils alternative, some may want to check UnixKit-tiny at http://eric.chromick.com/cli/unixkit-tiny/ (previously mentioned at http://www.portablefreeware.com/forums/ ... .php?t=338).author of http://busybox.net/ wrote:29 June 2013 -- BusyBox 1.21.1 (stable)
Last edited by Midas on Fri Apr 20, 2018 3:51 am, edited 1 time in total.
Re: Busybox & UnixKit-tiny
Uh... it was accurate at the time I posted it.Midas wrote:Ruby wrote:@Midas - latest busybox stable is v1.20.2
- While checking something else, I noticed that the latest version mentioned at the Busibox [Busybox] official webpage is v1.21.1, so this info might not be completely accurate...
http://busybox.net/ wrote:29 June 2013 -- BusyBox 1.21.1 (stable)
They also have a later 'stable' date posted (from what I remember) - 2 July 2012 -- BusyBox 1.20.2 (stable)
~Ruby
Re: Windows GREP
I know this topic is 'Windows GREP' but for the interested:
BusyBox v1.23.0
http://intgat.tigress.co.uk/rmy/busybox/index.html
~Ruby
BusyBox v1.23.0
http://intgat.tigress.co.uk/rmy/busybox/index.html
~Ruby
Re: BusyBox for Windows
BTW, busibox-w32 v1.24.0-FRP-15-g0ccf7a0, dated 2015-06-05, has been released (no changelog, see http://frippery.org/busybox/).Ruby wrote:I know this topic is 'Windows GREP' but for the interested: BusyBox v1.23.0
This version saves command history to '%USERPROFILE%\.ash_history' by default, making it not natively portable, but launching it in shell mode with the following batch script solves that:
Code: Select all
@%COMSPEC% /C "SET HOME=%~dp0home&& SET PATH=%PATH%%~dp0;&& TITLE BusyBox v1.24.0&& %~dp0busybox.exe sh -l"
Last edited by Midas on Fri Apr 20, 2018 3:50 am, edited 1 time in total.
Re: Windows GREP
Busybox-w32 v4.4.1 releasead (dated 2016-05-24; changelog not found; download from http://frippery.org/files/busybox/busyb ... 3c3b08.exe).
Last edited by Midas on Fri Apr 20, 2018 3:49 am, edited 1 time in total.
- __philippe
- Posts: 687
- Joined: Wed Jun 26, 2013 2:09 am
Re: BusyBox-Unix utilities in single executable
BusyBox-w32 recent release: 2016-08-16 16:02 410K
Aptly discussed in preceding posts, but perhaps worth underlining anew:
adapted from the current BusyBox --help display:
It brings a subset of the functionality of BusyBox to Windows in a single 410K self-contained native executable.
BusyBox-w32 official site
Aptly discussed in preceding posts, but perhaps worth underlining anew:
adapted from the current BusyBox --help display:
Some of the notable tools found therein (and notably lacking from either UnxUtils or UnixKit-Tiny competing packages):BusyBox v1.26.0-FRP-484-g977d65c (2016-08-16 15:49:02 BST)
(mingw32-gcc 6.1.0-1.fc24; mingw32-crt 5.0-0.2.rc2.v5.x.git65a0c3.20160723.fc24)
Remarkable multi-call binary combining many (128 in this release) common Unix utilities into a single 410K executable.
- awk (pattern matching utility)
- bash (Bash shell command interpreter)
- ps (current processes stats)
- rev (reverse order of characters in every line of a file)
- sh (Bourne shell command interpreter)
- strings (find words inside binaries and other non printable files)
- truncate (truncate a file to a specified length)
- ...
It brings a subset of the functionality of BusyBox to Windows in a single 410K self-contained native executable.
BusyBox-w32 official site
- __philippe
- Posts: 687
- Joined: Wed Jun 26, 2013 2:09 am
BusyBox-Unix utilities in a single executable
BusyBox-w32 recent release: v1.26.0-FRP-671 (2016-10-20 15:52:42 BST) 419K
from the BusyBox --help display header:
from the BusyBox --help display header:
BusyBox v1.26.0-FRP-671-ge135a80 (2016-10-20 15:52:42 BST) multi-call binary.
(mingw32-gcc 6.2.0-1.fc24; mingw32-crt 5.0-0.2.rc2.v5.x.git65a0c3.20160723.fc24)
- __philippe
- Posts: 687
- Joined: Wed Jun 26, 2013 2:09 am
BusyBox-Unix utilities in a single executable
BusyBox-w32 recent release: v1.27.0-FRP-874 (2017-01-08 09:29:54 GMT) 419k
from the BusyBox current --help display:
from the BusyBox current --help display:
BusyBox v1.27.0-FRP-874-g373ca86 (2017-01-08 09:29:54 GMT) multi-call binary.
(mingw32-gcc 6.3.0-1.fc25; mingw32-crt 5.0.0-1.fc25)
BusyBox is copyrighted by many authors between 1998-2015.
Licensed under GPLv2. See source distribution for detailed
copyright notices.
Usage: busybox [function [arguments]...]
or: busybox --list
or: busybox --install [DIR]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. The shell in this build
is configured to run built-in utilities without $PATH search.
You don't need to install a link to busybox for each utility.
To run external program, use full path (/sbin/ip instead of ip).
Currently defined functions:
[, [[, ar, ash, awk, base64, basename, bash, bunzip2, bzcat, bzip2,
cal, cat, catv, chmod, cksum, clear, cmp, comm, cp, cpio, cut, date,
dc, dd, df, diff, dirname, dos2unix, dpkg-deb, du, echo, ed, egrep,
env, expand, expr, false, fgrep, find, fold, ftpget, ftpput, getopt,
grep, groups, gunzip, gzip, hd, head, hexdump, id, ipcalc, kill,
killall, less, ln, logname, ls, lzcat, lzma, lzop, lzopcat, man,
md5sum, mkdir, mktemp, mv, nc, od, patch, pgrep, pidof, printenv,
printf, ps, pwd, rev, rm, rmdir, rpm2cpio, sed, seq, sh, sha1sum,
sha256sum, sha3sum, sha512sum, shuf, sleep, sort, split, stat, strings,
sum, tac, tail, tar, tee, test, touch, tr, true, truncate, uname,
uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unxz,
unzip, usleep, uudecode, uuencode, vi, wc, wget, which, whoami, whois,
xargs, xz, xzcat, yes, zcat
- __philippe
- Posts: 687
- Joined: Wed Jun 26, 2013 2:09 am
BusyBox-Unix utilities in a single executable
BusyBox-w32 recent release: v1.27.0-FRP-1035-g74163a5 (2017-02-09 08:42:39 GMT) 421k
(mingw32-gcc 6.3.0-1.fc25; mingw32-crt 5.0.0-1.fc25)
Two new applets added in this release, now counting 130 Unix utilities...:
(mingw32-gcc 6.3.0-1.fc25; mingw32-crt 5.0.0-1.fc25)
Two new applets added in this release, now counting 130 Unix utilities...:
link
Usage: link FILE LINK
Create hard LINK to FILE
xxd
Usage: xxd [OPTIONS] [FILE]
Hex dump FILE (or stdin)
-g N Bytes per group
-c N Bytes per line
-p Show only hex bytes, assumes -c30
-l LENGTH Show only first LENGTH bytes
-s OFFSET Skip OFFSET bytes
- __philippe
- Posts: 687
- Joined: Wed Jun 26, 2013 2:09 am
BusyBox-Unix utilities in a single executable
BusyBox-w32 recent release : v1.27.0-FRP-1144-gc2002ea (2017-05-30 12:36:42 BST) multi-call binary (423k)
(mingw32-gcc 6.3.0-1.fc25; mingw32-crt 5.0.0-1.fc25)
Three new applets added to this release:
(mingw32-gcc 6.3.0-1.fc25; mingw32-crt 5.0.0-1.fc25)
Three new applets added to this release:
factor
Usage: factor [NUMBER]...
Print prime factors
nl
Usage: nl [OPTIONS] [FILE]...
Write FILEs to standard output with line numbers added
-b STYLE Which lines to number - a: all, t: nonempty, n: none
-i N Line number increment
-s STRING Use STRING as line number separator
-v N Start from N
-w N Width of line numbers
paste
Usage: paste [OPTIONS] [FILE]...
Paste lines from each input file, separated with tab
-d LIST Use delimiters from LIST, not tab
-s Serial: one file at a time