2018-05-01

BusyBox для Windows

BusyBox - это набор UNIX-утилит для командной строки, реализованных в одном исполняемом файле. Главным преимуществом которого является малый размер, и низкие системные требования.



Официальный сайт проекта для *nix систем https://busybox.net, так же немного о BusyBox на вики https://ru.wikipedia.org/wiki/BusyBox.


busybox-w32


busybox-w32 - это порт проекта BusyBox на ОС Windows. Официальный сайт проекта https://frippery.org/busybox/.

Скачать свежие версии BusyBox для Windows можно по этим ссылкам busybox.exe (x86) 475KB и busybox64.exe (x64) 541KB. Старые версии доступны по этой ссылке.

Размер исполняемого файла впечатляюще мал, до 600KB. При данном размере, данный порт BusyBox предоставляет следующий набор команд (встроенных функций):

[, [[, ar, arch, ash, awk, base64, basename, bash, bunzip2, busybox, bzcat, bzip2, cal, cat, chmod, cksum, clear, cmp, comm, cp, cpio, cut, date, dc, dd, df, diff, dirname, dos2unix, dpkg-deb, du, echo, ed, egrep, env, expand,
        expr, factor, false, fgrep, find, fold, fsync, ftpget, ftpput, getopt, grep, groups, gunzip, gzip, hd, head, hexdump, id, ipcalc, kill, killall, less, link, ln, logname, ls, lzcat, lzma, lzop, lzopcat, man, md5sum, mkdir, mktemp,
        mv, nc, nl, od, paste, patch, pgrep, pidof, pipe_progress, printenv, printf, ps, pwd, rev, rm, rmdir, rpm, rpm2cpio, sed, seq, sh, sha1sum, sha256sum, sha3sum, sha512sum, shred, shuf, sleep, sort, split, ssl_client, stat, strings,
        sum, tac, tail, tar, tee, test, timeout, touch, tr, true, truncate, ttysize, uname, uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unxz, unzip, usleep, uudecode, uuencode, vi, watch, wc, wget, which, whoami, whois,
        xargs, xxd, xz, xzcat, yes, zcat.


Установка busybox-w32


busybox-w32 позволяет выполнить установку всех представленных выше команд (busybox.exe --install) путем создания жестких ссылок на главный исполняемый файл. Это избавит от постоянного набора команды типа busybox.exe команда агрументы.



Установка в виде жестких ссылок доступна только для файловой системы NTFS. Для FAT можно создать командные файлы *.cmd, с примерно таким содержанием busybox команда %*.

Или выполнить команду busybox --list>bb.txt & for /F %i in (bb.txt) DO echo busybox %i ^%^*> %i.cmd & del bb.txt busybox.cmd в директории с busybox.exe. Данная команда сама создаст все необходимые одноименные функциям busybox файлы *.cmd.




Как и где использовать busybox


В первую очередь, busybox понадобится тем кто уже сталкивался с подобным функционалом в ОС семейства *nix, и кому не хватает данных утилит в Windows среде. Если вам знакомы хотя бы несколько команд которые предлагает busybox, применение им вы точно найдете. Будь то командные сценарии, либо просто запуск нужной функции отдельно.

А для тех кто вообще впервые видит busybox, будет все же полезно изучить командный функционал данного пакета. Так как большинству команд busybox нет аналогов, в виде утилит,  в Windows среде.

Приведу немного примеров некоторых команд.

nc - Выполняется соединение к хосту ya.ru на порт 443. Далее передаются HTTP заголовки в ответ на которые нам выдается HTML код запрошенной страницы.


nc - Запуск прослушивания порта 3333 локально в одном окне терминала, и отправка сообщения на данный порт информации с другого терминала.


wget - Скачивание образа SystemRescueCD


df, du, cal, base64, md5sum


hexdump



Итог


busybox-w32 это огромный функционал 142 Unix-утилит в ~600КБ одного исполняемого файла. Думаю такому инструменту обязательно должно найтись местечко на вашем ПК или флешке😉.

Комментариев нет :

Отправить комментарий