Busybox что это linux

Ubuntu не загружается дальше initramfs

Пользователи, которые любят экспериментировать со своей операционной системой время от времени сталкиваются с ошибкой загрузки, когда система выводит приглашение ввода BusyBox с initramfs. Эта ошибка означает, что ядро не может загрузить корневой раздел, та файловая система, к которой у вас есть доступ из этого режима не имеет ничего общего с вашей системой. Это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки системы.

В этом режиме будет сложно что-то исправить, но можно попытаться понять где находится причина проблемы. В этой статье мы рассмотрим что делать если Linux не загружается с initramfs. Такой проблеме подвержены все дистрибутивы, но мы рассмотрим решения на примере Ubuntu.

Почему Linux не загружается дальше initramfs

Если вы столкнулись с данной ошибкой, то после нескольких десятков секунд загрузки увидите такое сообщение:

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

1. Неверный корневой раздел в загрузчике

В данном случае она сообщает, что не может найти раздел /dev/sda10:

Alert: /dev/sda10 does not exist. Dropping to a shell

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

Очень часто такая ошибка возникает после манипуляций с разделами дисков, особенно изменения их размера. UUID диска меняется и ядро больше не может его найти. Вы можете посмотреть доступные в системе разделы с помощью команды:

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

В этом окружении есть BusyBox, а значит есть большинство утилит Unix. Вы можете примонтировать каждый из этих разделов с помощью команды mount и узнать где находится ваш новый корневой раздел, например:

mkdir /mnt
mount /dev/sda5 /mnt
ls

Вы также можете узнать здесь же UUID данного раздела диска, для этого выполните:

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

В данном случае, корневой раздел имеет имя /dev/sda5. Именно это имя можно передать ядру в конфигурации загрузчика Grub, а можно UUID, но если в этом нет крайней необходимости, то короткое имя использовать гораздо проще. Надо перезагрузить компьютер, в меню Grub выбрать нужную загрузочную запись и нажать клавишу E:

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

Далее найти пункт, начинающейся со слова linux и в нём параметр root. Его значение вместе со словом UUID надо стереть, а вместо него прописать имя корневого раздела:

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

После этого система загрузится, а вам останется только создать новый конфигурационный файл grub с помощью команды:

2. Повреждённая файловая система

Подобная ошибка может появляться также при серьезных ошибках в файловой системе, которые мешают примонтировать корневой раздел. Обычно, fsck восстанавливает файловую систему автоматически, но если проблема серьезная и грозит потерей данных, утилите надо подтверждение пользователя для работы. Тогда система показывает такую ошибку:

The root filesystem on /dev/sda5 requires a manual fsck

Вы можете прямо здесь же попытаться восстановить файловую систему. Для этого выполните:

Выводы

В этой статье мы разобрались что делать если в Linux не загружается initramfs, как посмотреть сообщение об ошибке, а также как устранить самые распространённые причины.

Источник

Busybox по сути является набором консольных утилит Linux систем. Необходим, например, для работы app2sd или программ для разгона или чего-нибудь подобного, что требует подключения сторонних модулей ядра. В большинстве кастомных прошивок он уже встроен.

Для функционирования программы необходимы права root пользователя.

Мини-FAQ по программе

Как с помощью этой программы разогнать процессор?
-Никак. Busybox нужен для некоторых программ, выполняющих разгон. Вопросы по разгону задавайте в топике своего аппарата.

-Как узнать установлен ли Busybox и какая версия?
-Устанавливаем Android Terminal Emulator, пишем в нем busybox, если он установлен, то будет написана версия и выйдет краткая справка по коммандам.

— Можно ли удалить приложение после установки busybox?
-Да.

Требования

Должно быть 3 мегабайта свободного места в каталоге /system
Если вы не в курсе, не делаете этого, так как вам это 100% не нужно!
Этот busybox исключительно для профи.

Чистая установка или если программа уже стоит

0. Удалить на карте файлы: «busybox-stericson» «toolbox-stericson», stericson-ls если есть. Зайти в приложения/управление/сделать остановку программы/удалить данные.
1. Установите программу busybox по ссылке внизу или если имеется более новую. Сам инсталлятор.
2. Положите busybox на карту памяти в любое, удобное для вас место. Запустите программу и дождитесь окончания сканирования.
3. Выберите кастомную установку и укажите путь у файлу.
4. Выберите обязательно каталог /system/bin
5. Поставьте галочку на чеке: Clean Mode
6. Выберите Install, а затем Smart install
7. Дождитесь конца установки и перезагрузите аппарат
8. Зайдите снова в программу и дождитесь окончания сканирования.
9. Поставьте галочку на чеке: Replace All
10. Выберите Install, а затем Smart install.
11. Перезагрузить телефон. И удалить лишнее руками (профи знают)

Простая установка

1. Установите программу busybox из шапки или если имеется более новую. Сам инсталлятор.
2. Положите busybox на карту памяти в любое, удобное для вас место.
3. Запустите программу и дождитесь окончания сканирования.
4. Выберите кастомную установку и укажите путь у файлу
5. Выберите Install, а затем Normal install
6. Нужные аплеты добавить в командной строке или рут эксплорером создать симлинки.

Что такое симлинк?

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

Какие симлинки должны быть в папке system/bin и как их восстановить?

Раз у многих стоят проблемные моды, проверяем наличие основных команд toolbox в папке system/bin Если нет симлинка, восстанавливаем командой:

в adb или через терминал на телефоне. Пример:

Если вам не удобно удалять лишние симлинки busybox руками, это можно сделать, так же командой:

rm /system/xbin/ симлинк

смотрим путь. В данном случае симлинк удаляется из папки xbin. Можно в команде изменить путь на bin.
Так же, напоминаю тем, кто не знает: Команды busybox не должны повторять команды toolbox. Это означает, что если команда busybox имеется, то ее надо удалить. Основные команды прошивок читайте или спрашивайте в темах своей модели аппарата.

cat
chmod
chown
cmp
date
dd
df
dmesg
getevent
getprop
hd
id
ifconfig
iftop
insmod
ioctl
ionice
kill
ln
log
ls
lsmod
mkdir
mount
mv
nandread
netstat
newfs_msdos
notify
printenv
ps
reboot
renice
rm
rmdir
rmmod
route
schedtop
sendevent
setconsole
setprop
sleep
smd
start
stop
sync
top
umount
vmstat
watchprops
wipe

Основные команды для работы с BusyBox

Команды для работы с файлами

Управление процессами в BusyBox

Права доступа на файлы в BusyBox

chmod 640 file – замена прав доступа файла file на 640. Права назначаются раздельно для пользователя,
группы и для всех остальных сложением:
4 – чтение ®
2 – запись (w)
1 – исполнение (x)

chmod 777 – чтение, запись, исполнение для всех пользователей
chmod 751 – чтение, запись, исполнение для владельца; чтение, исполнение для группы;
и только исполнение для остальных пользователей.

Системная информация в BusyBox

Использование SSH в BusyBox

Как осуществляется поиск в BusyBox

Процессы архивации при наличии установленных tar и gzip пакетах в BusyBox

Настройка сети в BusyBox

Установка\удаление программ из пакетов в BusyBox

Установка из исходников

cd application-1.0.2
./configure
make
make install

Быстрые короткие команды

Источник

BusyBox в Linux: что это за проект и зачем он нужен?

Busybox что это linux. Смотреть фото Busybox что это linux. Смотреть картинку Busybox что это linux. Картинка про Busybox что это linux. Фото Busybox что это linux

Сисадмины, а также пользователи UNIX/Linux-систем привыкли к работе со своей любимой командной оболочкой и к стандартным программным средствам. Но использовать их всегда и везде невозможно. На помощь придёт BusyBox — упрощенный shell с набором компактных системных средств.

Команды Linux поставляются вместе с системой при установке дистро. Некоторые из основных команд, такие как cd, kill и echo, фактически встроены в вашу оболочку. Другие, например ls, mv и cat — часть основного пакета служебных программ. Но в мире открытого кода всегда есть альтернативы, и одна из самых интересных — BusyBox.

* BusyBox — это проект, который обеспечивает простую реализацию почти 400 распространенных команд. Этот набор UNIX-утилит командной строки имеет открытый исходный код (GPL — лицензия на свободное ПО).

Подробнее о BusyBox в Linux

BusyBox реализовывает почти 400 общих команд, в том числе ls, mv, ln, mkdir, more, ps, gzip, bzip2, tar и grep. Он также содержит версию языка программирования awk, редактор потока sed, средство проверки файловой системы fsck, пакеты менеджеров rpm и dpkg. Также у BusyBox есть оболочка (sh), которая обеспечивает лёгкий доступ ко всем этим командам. Проект содержит все основные команды, необходимые интерфейсу портативных операционных систем POSIX, чтобы выполнить общие задачи обслуживания системы.

У BusyBox есть команда init, которую можно запустить как PID 1, чтобы она служила родительским процессом для всех других системных служб. Другими словами, проект можно использовать как альтернативу systemd, OpenRC, sinit, init и другим демонам запуска.

BusyBox очень маленький, менее 1 МБ, поэтому он так популярен в граничных вычислениях, встроенных системах и IoT, где дисковое пространство на вес золота. В мире контейнеров и облачных вычислений он также пользуется спросом, как основа для создания минимальных образов контейнеров Linux.

Минимализм в действии

BusyBox привлекателен из-за его минимализма, который так ценит сообщество. Все его команды собраны в один двоичный файл (busybox), а его руководство занимает всего 81 страницу, но охватывает почти 400 команд.

В качестве примера, вот вывод shadow версии useradd —help:

А вот версия той же команды для BusyBox:

-h DIR Home directory

-g GECOS GECOS field

-s SHELL Login shell

-G GRP Group

-S Create a system user

-D Don’t assign a password

-H Don’t create home directory

-u UID User id

-k SKEL Skeleton directory (/etc/skel)

Это различие — преимущество или ограничение? Зависит от ваших предпочтений. Вы хотите иметь 20 или 10 вариантов команд? Для многих пользователей минимализм BusyBox оптимален. В целом, это хорошая минимальная среда, которую можно использовать в качестве запасного варианта или для установки более надёжных инструментов, таких как Bash, Zsh, GNU Awk и т.д.

Инсталляция BusyBox

В Linux вы можете установить BusyBox с помощью диспетчера пакетов. Например, в

$ sudo dnf install busybox

На Debian и производных:

$ sudo apt install busybox

В macOS используйте MacPorts или Homebrew. В Windows используйте Chocolatey.

Вы можете установить BusyBox в качестве оболочки с помощью команды chsh —shell. Мы храним BusyBox в /lib64, но его расположение зависит от того, где он установлен в вашем дистрибутиве.

$ which busybox

/lib64/busybox/busybox

Полная замена всех распространённых команд на BusyBox немного сложнее, потому что большинство дистрибутивов привязаны к определённым пакетам для определённых команд. Технически возможно заменить базовый init на init BusyBox, но ваш менеджер пакетов может не позволить вам удалить содержимое пакета init, из опасения, что вы сделаете вашу систему не загружаемой.

Тестируйте BusyBox

Вам не нужно менять оболочку на BusyBox, чтобы просто затестить её. Вы можете запустить приложение из текущей оболочки:

$ busybox sh

В вашей системе всё ещё будут установлены версии команд, которые не относятся к BusyBox. Поэтому, чтобы испытать новые инструменты, вы должны вводить команды в качестве аргументов для busybox исполняемого файла:

BusyBox vX.YY.Z (2021-08-25 07:31:48 NZST) multi-call binary.

Usage: ls [-1AaCxdLHRFplinshrSXvctu] [-w WIDTH] [FILE].

List directory contents

-1 One column output

-x List by lines

Для “полного” взаимодействия с BusyBox вы можете создавать символические ссылки busybox для каждой команды:

$ mkdir bbx

done

Итог

BusyBox можно использовать, в качестве:

Уже пробовали BusyBox? Поделитесь впечатлениями в комментах.

Источник

Busybox что это linux

The Software Freedom Conservancy acts as the GPL enforcement agent for various BusyBox copyright holders. If you wish to report a GPL violation on BusyBox, please write to gpl@busybox.net.

Bug fix release. 1.33.2 has fixes for hush and ash (parsing fixes) and unlzma (fix a case where we could read before beginning of buffer).

Bug fix release. 1.34.1 has build fix for MIPS, fixes for ash (regression in process substitution), awk (printf fix), chat (fix infinite spinning on input EOF).

Please note that awk had a number of changes. Report any breakage to the mailing list.

Sizes of busybox-1.33.0 and busybox-1.34.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.33.1 has fixes for httpd (sendfile now works), ash (HISTFILE corruption, unset variable pattern expansion), passwd (SELinux fix), traceroute (option parsing fix), gunzip (fix for corrupted archive).

Bug fix release. 1.32.1 fixes a case where in ash, «wait» never finishes.

Sizes of busybox-1.32.0 and busybox-1.33.0 (with equivalent config, static uclibc build):

Changes since previous release:

Sizes of busybox-1.31.1 and busybox-1.32.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.31.1 has fixes for dc, ash (PS1 expansion fix), hush, dpkg-deb, telnet and wget.

Sizes of busybox-1.30.1 and busybox-1.31.0 (with equivalent config, static uclibc build):

Changes since previous release:

Sizes of busybox-1.29.3 and busybox-1.30.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.29.3 has a fix in libbb for xmalloc_fgets().

Bug fix release. 1.29.1 has fixes for wget (http->https redirect) and sendmail (angle bracket parsing).

Sizes of busybox-1.28.4 and busybox-1.29.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.28.4 has fixes for nsenter option parsing and dpkg symlink extraction.

Bug fix release. 1.28.2 has fixes for tcpsvd (fixed fallout from opt_complementary removal), udhcpd (do not ignore SIGTERM), tar and unzip (reverted to previous, more permissive symlink handling), ssl_client (fixed option parsing),

Sizes of busybox-1.27.0 and busybox-1.28.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.27.1 has fixes for uuencode (allow space instead of «`» as padding char), dd (fixed status=none), setpriv (option parsing should not eat options in PROG ARGS), fix for «applet (for example halt) as login shell» use case, a few fixes for less typical build environments.

Sizes of busybox-1.26.0 and busybox-1.27.0 (with equivalent config, static uclibc build):

Changes since previous release:

If you are stuck with a kernel from July 2008 or earlier (2.6.26 or less), and you are using mdev, device scan wouldn’t work correctly due to an incompatibility in /sys structure. You can work around it by reverting this patch in 1.26.x BusyBox sources. (You also probably need to plan migration to a less ancient kernel).

Bug fix release. 1.26.2 has fixes for ash (redirect fds sometimes were not closed), module utilities and tcpsvd (build fixes), build system (IFUPDOWN_UDHCPC_CMD_OPTIONS option was not settable).

Bug fix release. 1.26.1 has fixes for single-applet builds (all applets are verified to successfully build when individually selected), a few tweaks to defconfig were made.

Static binaries are available for downloads, with each individual applet enabled separately, as well as the binary with almost all applets selected, and helper binaries (ssl_helper for HTTPS wget support, index.cgi, post_upload.cgi and httpd_ssi for HTTP server).

Sizes of busybox-1.25.0 and busybox-1.26.0 (with equivalent config, static uclibc build):

Changes since previous release:

Sizes of busybox-1.24.2 and busybox-1.25.0 (with equivalent config, static uclibc build):

Changes since previous release:

Android is based on Linux kernel, but sadly and unexplicably, Android userspace is not Unix-friendly: in many cases, things are done differently than in «usual» Unix systems. For example, there is no /bin directory (and therefore ubiquitous #!/bin/sh scripts won’t work). Instead, there is /system/bin.

Some parts won’t compile (not all kernel headers are present, libc API different or incomplete, etc). The maximal config which did compile is now in the git tree, in configs/android_502_defconfig. The toolchain provided by Termux is based on Android’s Bionic libc and Bionic has some design problems. An annoying one is that off_t is 32-bit, struct_stat::st_size is not off_t (this violates standard expectations), therefore CONFIG_LFS=y does not build, and CONFIG_LFS=n builds with warnings (printf’ing st->st_size with wrong specifier).

Bug fix release. 1.24.2 has fixes for build system (static build with glibc fixed), truncate, gunzip and unzip.

Bug fix release. 1.24.1 has fixes for ftpd (DIR parameter works for non-root too), httpd (heap overflow fix), sort (fix for a a problem affecting glibc build). Build system has a fix for the lost link-time optimizations. In 1.24.0 announcement, you might have noticed that sizes unexpectedly grew relative to 1.23.2. Now it is fixed:

Check out a new applet, «uevent». It is a netlink listener. It provides alternative to having mdev as kernel hotplug helper. Instead of setting up the former via «echo /sbin/mdev >/proc/sys/kernel/hotplug», start «uevent mdev» early during boot. «uevent» will run «mdev» for each hotplug event, waiting for each child to terminate before starting a next one.

The former method does not require a long-lived listener process, but it is racy: many copies of mdev can run in parallel.

Sizes of busybox-1.23.2 and busybox-1.24.0 (with equivalent config, static uclibc build):

I would like to feature some less-known useful tools in Busybox. Let me talk about «nmeter» applet. I find myself using it surprisingly often. For example, it helped me to correctly parallelize a very large multiple kernel build job (

30000 kernel builds) so that all CPUs are loaded, but machine isn’t evicting file cache because it has too many jobs for installed RAM.

When dealing with a machine which seems to be sluggish, it takes some time to pinpoint the cause. It can be lack of free memory. It can be excessive CPU load. It can be misbehaving (slow) storage or network. nmeter allows to monitor many such parameters and presents them in a compact one-line form. This lets you see the time evolution as well. Here is an example:

On the other hand, with large update interval, you can run this tool continuously on a server machine and save its output, to be able to investigate mysterious drops in performance at a time when there was no operator present. If you have an oopsing server, it is useful to have another nmeter instance’s output to be constantly printed to its console, if you want to see what was going on just before oops. «Is my server occasionally dies in an IRQ storm?» situation.

Changes since previous release:

Bug fix release. 1.23.2 has fixes for dc (more tolerant to lack of whitespace), modinfo (was not ignoring directory component of path names in a few places), modprobe (better compatibility for «rmmod» alias), wget (—header now overrides built-in headers, not appends to).

Sizes of busybox-1.22.1 and busybox-1.23.0 (with equivalent config, static uclibc build):

Changes since previous release:

Sizes of busybox-1.21.1 and busybox-1.22.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.21.1 has fixes for ntfs detection (big-endian fix), xz decompression of concatenated streams, mdev acquired a [ENV=regex;] extension instead of undocumented subsystem match hack it used to have prior to 1.21.x.

Sizes of busybox-1.20.2 and busybox-1.21.0 (with equivalent config, static uclibc build):

Changes since previous release:

Bug fix release. 1.20.2 has fixes for ash (fix for variable expansion in redirection), ifup/down (fix for «pre-up» and «pre-down» handling), man (fixes for compressed man pages handling), mke2fs (important fix! due to misplaced s_mkfs_time field, ext4 driver couldn’t mount our images), ps (fix for getting uptime on non-Linux platforms), tar (fix base-256 decoding).

Источник

SYNTAX

BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in GNU coreutils, util-linux, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts.

BusyBox has been written with size-optimization and limited resources in mind. It is also extremely modular so you can easily include or exclude commands (or features) at compile time. This makes it easy to customize your embedded systems. To create a working system, just add /dev, /etc, and a Linux kernel. BusyBox provides a fairly complete POSIX environment for any small or embedded system.

BusyBox is extremely configurable. This allows you to include only the components you need, thereby reducing binary size. Run ‘make config’ or ‘make menuconfig’ to select the functionality that you wish to enable. Then run ‘make’ to compile BusyBox using your configuration.

After the compile has finished, you should use ‘make install’ to install BusyBox. This will install the ‘bin/busybox’ binary, in the target directory specified by CONFIG_PREFIX. CONFIG_PREFIX can be set when configuring BusyBox, or you can specify an alternative location at install time (i.e., with a command line like ‘make CONFIG_PREFIX=/tmp/foo install’). If you enabled any applet installation scheme (either as symlinks or hardlinks), these will also be installed in the location pointed to by CONFIG_PREFIX.

USAGE

BusyBox is a multi-call binary. A multi-call binary is an executable program that performs the same job as more than one utility program. That means there is just a single BusyBox binary, but that single binary acts like a large number of utilities. This allows BusyBox to be smaller since all the built-in utility programs (we call them applets) can share code for many common operations.

You can also invoke BusyBox by issuing a command as an argument on the command line. For example, entering

will also cause BusyBox to behave as ‘ls’.

Of course, adding ‘/bin/busybox’ into every command would be painful. So most people will invoke BusyBox using links to the BusyBox binary.

For example, entering

will cause BusyBox to behave as ‘ls’ (if the ‘ls’ command has been compiled into BusyBox). Generally speaking, you should never need to make all these links yourself, as the BusyBox build system will do this for you when you run the ‘make install’ command.

If you invoke BusyBox with no arguments, it will provide you with a list of the applets that have been compiled into your BusyBox binary.

COMMON OPTIONS

Most BusyBox applets support the —help argument to provide a terse runtime description of their behavior. If the CONFIG_FEATURE_VERBOSE_USAGE option has been enabled, more detailed usage information will also be available.

COMMANDS

Currently available applets include:

COMMAND DESCRIPTIONS

acpid [-d] [-c CONFDIR] [-l LOGFILE] [-a ACTIONFILE] [-M MAPFILE] [-e PROC_EVENT_FILE] [-p PIDFILE]

Listen to ACPI events and spawn specific helpers on event arrival

Add SHELLs to /etc/shells

addgroup [-g GID] [USER] GROUP

Add a group or add a user to a group

adduser [OPTIONS] USER

adjtimex [-q] [-o OFF] [-f FREQ] [-p TCONST] [-t TICK]

Read and optionally set system timebase parameters. See adjtimex(2)

ar [-o] [-v] [-p] [-t] [-x] ARCHIVE FILES

Extract or list FILES from an ar archive

Manipulate ARP cache

arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP

Send ARP requests/replies

awk [OPTIONS] [AWK_PROGRAM] [FILE].

Base64 encode or decode FILE to standard output Options:

basename FILE [SUFFIX]

Print the config file used by busybox build

Print UUIDs of all filesystems

blockdev OPTION BLOCKDEV

bootchartd start [PROG ARGS]|stop|init

Create /var/log/bootchart.tgz with boot chart data

brctl COMMAND [BRIDGE [INTERFACE]]

Manage ethernet bridges

Decompress FILEs (or stdin)

Decompress to stdout

bzip2 [OPTIONS] [FILE].

Compress FILEs (or stdin) with bzip2 algorithm

Display a calendar

Concatenate FILEs and print them to stdout

Display nonprinting characters as ^x or M-x

chat EXPECT [SEND [EXPECT [SEND. ]]]

Useful for interacting with a modem connected to stdin/stdout. A script consists of one or more «expect-send» pairs of strings, each pair is a pair of arguments. Example: chat » ATZ OK ATD123456 CONNECT » ogin: pppuser word: ppppass ‘

chattr [-R] [-+=AacDdijsStTu] [-v VERSION] [FILE].

Change file attributes on an ext2 fs

chgrp [-RhLHPcvf]. GROUP FILE.

Change the group membership of each FILE to GROUP

chmod [-Rcvf] MODE[,MODE]. FILE.

Each MODE is one or more of the letters ugoa, one of the symbols +-= and one or more of the letters rwxst

chown [-RhLHPcvf]. OWNER[ [GROUP]] FILE.

Change the owner and/or group of each FILE to OWNER and/or GROUP

Read user:password from stdin and update /etc/passwd

chpst [-vP012] [-u USER[:GRP]] [-U USER[:GRP]] [-e DIR]

[-/ DIR] [-n NICE] [-m BYTES] [-d BYTES] [-o N]

[-p N] [-f BYTES] [-c BYTES] PROG ARGS

Change the process state, run PROG

chroot NEWROOT [PROG ARGS]

Run PROG with root directory set to NEWROOT

chrt [-prfom] [PRIO] [PID | PROG ARGS]

Change scheduling priority and class for a process

Change the foreground virtual terminal to /dev/ttyN

Calculate the CRC32 checksums of FILES

cmp [-l] [-s] FILE1 [FILE2 [SKIP1 [SKIP2]]]

Compare FILE1 with FILE2 (or stdin)

comm [-123] FILE1 FILE2

Compare FILE1 with FILE2

conspy [-vcsndf] [-x COL] [-y LINE] [CONSOLE_NO]

A text-mode VNC like program for Linux virtual consoles. To exit, quickly press ESC 3 times.

cp [OPTIONS] SOURCE DEST

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY

cpio [-dmvu] [-F FILE] [-H newc] [-tio] [-p DIR]

Extract or list files from a cpio archive, or create an archive (-o) or copy files (-p) using file list on stdin

Main operation mode:

crontab [-c DIR] [-u USER] [-ler]|[FILE]

cryptpw [OPTIONS] [PASSWORD] [SALT]

Crypt the PASSWORD using crypt(3)

cttyhack PROG ARGS

Print selected fields from each input FILE to stdout

date [OPTIONS] [+FMT] [TIME]

Display time (using +FMT), or set time

Recognized TIME formats:

dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [bs=N] [count=N] [skip=N]

[seek=N] [conv=notrunc|noerror|sync|fsync]

Copy a file with converting and formatting

Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024), MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)

Deallocate unused virtual terminal /dev/ttyN

delgroup [USER] GROUP

Delete group GROUP from the system or user USER from group GROUP

Delete USER from the system

depmod [-qfwrsv] MODULE [symbol=value].

devfsd mntpnt [-v][-fg][-np]

Manage devfs permissions and old device name symlinks

devmem ADDRESS [WIDTH [VALUE]]

Read/write from physical address

df [-Pkmhai] [-B SIZE] [FILESYSTEM].

Print filesystem usage statistics

dhcprelay CLIENT_IFACE[,CLIENT_IFACE2]. SERVER_IFACE [SERVER_IP]

Relay DHCP requests between clients and server

diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2

Compare files line by line and output the differences between them. This implementation supports unified diffs only.

Strip non-directory suffix from FILENAME

dmesg [-c] [-n LEVEL] [-s SIZE]

Print or control the kernel ring buffer

dnsd [-dvs] [-c CONFFILE] [-t TTL_SEC] [-p PORT] [-i ADDR]

Small static DNS server daemon

Convert FILE in-place from DOS to Unix format. When no file is given, use stdin/stdout.

dpkg [-ilCPru] [-F OPT] PACKAGE

Install, remove and manage Debian packages

dpkg-deb [-cefxX] FILE [argument]

Perform actions on Debian packages (.debs)

du [-aHLdclsxhmk] [FILE].

Summarize disk space used for each FILE and/or directory. Disk space is printed in units of 1024 bytes.

Print a binary keyboard translation table to stdout

dumpleases [-r|-a] [-f LEASEFILE]

Display DHCP leases granted by udhcpd

Print the specified ARGs to stdout

Eject DEVICE or default /dev/cdrom

env [-iu] [-] [name=value]. [PROG ARGS]

Print the current environment or run PROG after setting up the specified environment

envdir DIR PROG ARGS

Set various environment variables as specified by files in the directory DIR, run PROG

envuidgid USER PROG ARGS

ether-wake [-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC

Send a magic packet to wake up sleeping machines. MAC must be a station address (00:11:22:33:44:55) or a hostname with a known ‘ethers’ entry.

Convert tabs to spaces, writing to stdout

Print the value of EXPRESSION to stdout

Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0.

fakeidentd [-fiw] [-b ADDR] [STRING]

Provide fake ident (auth) service

Return an exit code of FALSE (1)

fbset [OPTIONS] [MODE]

Show and modify frame buffer settings

Force floppy disk drive to detect disk change

Format floppy disk

fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK

Change partition table

Get active console

find [PATH]. [EXPRESSION]

Search for files. The default PATH is the current directory, default EXPRESSION is ‘-print’

EXPRESSION may consist of:

findfs LABEL=label or UUID=uuid

Find a filesystem device based on a label or UUID

flash_eraseall [-jq] MTD_DEVICE

Erase an MTD device

flash_lock MTD_DEVICE OFFSET SECTORS

Unlock an MTD device

Copy an image to MTD device

[Un]lock file descriptor, or lock FILE, run PROG

fold [-bs] [-w WIDTH] [FILE].

Wrap input lines in each FILE (or stdin), writing to stdout

Display the amount of free and used system memory

Free all memory used by the specified ramdisk

fsck [-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV].

Check and repair filesystems

fsck.minix [-larvsmf] BLOCKDEV

Check MINIX filesystem

Write files’ buffered blocks to disk

ftpd [-wvS] [-t N] [-T N] [DIR]

Anonymous FTP server

ftpd should be used as an inetd service. ftpd’s line for inetd.conf: 21 stream tcp nowait root ftpd ftpd /files/to/serve It also can be ran from tcpsvd:

ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE

Retrieve a remote file via FTP

ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE

Store a local file on a remote machine via FTP

fuser [OPTIONS] FILE or PORT/PROTO

Find processes which use FILEs or PORTs

getty [OPTIONS] BAUD_RATE TTY [TERMTYPE]

Open a tty, prompt for a login name, then invoke /bin/login

grep [-HhnlLoqvsriwFEz] [-m N] [-A/B/C N] PATTERN/-e PATTERN. /-f FILE [FILE].

Search for PATTERN in FILEs (or stdin)

Decompress FILEs (or stdin)

Compress FILEs (or stdin)

halt [-d DELAY] [-n] [-f] [-w]

hdparm [OPTIONS] [DEVICE]

Print first 10 lines of each FILE (or stdin) to stdout. With more than one FILE, precede each with a filename header.

N may be suffixed by k (x1024), b (x512), or m (x1024^2).

hexdump [-bcCdefnosvxR] [FILE].

Display FILEs (or stdin) in a user specified format

Print out a unique 32-bit identifier for the machine

Get or set hostname or DNS domain name

Listen for incoming HTTP requests

hwclock [-r|—show] [-s|—hctosys] [-w|—systohc] [-l|—localtime] [-u|—utc] [-f FILE]

Query and set hardware clock (RTC)

Print information about USER or the current user

ifconfig [-a] interface [address]

Configure a network interface

ifdown [-anmvf] [-i FILE] IFACE.

ifenslave [-cdf] MASTER_IFACE SLAVE_IFACE.

Configure network interfaces for parallel routing

Network interface plug detection daemon

ifup [-anmvf] [-i FILE] IFACE.

inetd [-fe] [-q N] [-R N] [CONFFILE]

Listen for network connections and launch programs

Init is the parent of all processes

inotifyd PROG FILE1[:MASK].

Run PROG on filesystem changes. When a filesystem event matching MASK occurs on FILEn, PROG ACTUAL_EVENTS FILEn [SUBFILE] is run. Events:

inotifyd waits for PROG to exit. When x event happens for all FILEs, inotifyd exits.

insmod [-qfwrsv] MODULE [symbol=value].

install [-cdDsp] [-o USER] [-g GRP] [-m MODE] [SOURCE]. DEST

Copy files and set attributes

ionice [-c 1-3] [-n 0-7] [-p PID] [PROG]

Change I/O priority and class

iostat [-c] [-d] [-t] [-z] [-k|-m] [ALL|BLOCKDEV. ] [INTERVAL [COUNT]]

Report CPU and I/O statistics

ipaddr < IFADDR dev STRING |

[dev STRING] [to PREFIX] >

ipaddr IFADDR dev STRING ipaddr [dev STRING] [scope SCOPE-ID] [to PREFIX] [label PATTERN] IFADDR := PREFIX | ADDR peer PREFIX [broadcast ADDR] [anycast ADDR] [label STRING] [scope SCOPE-ID] SCOPE-ID := [host | link | global | NUMBER]

ipcalc [OPTIONS] ADDRESS[[/]NETMASK] [NETMASK]

Calculate IP network settings from a IP address

ipcrm [-MQS key] [-mqs id]

Upper-case options MQS remove an object by shmkey value. Lower-case options remove an object by shmid value.

iplink set DEVICE < up | down | arp | multicast < on | off >| dynamic < on | off >| mtu MTU > iplink show [DEVICE]

iproute < list | flush | < add | del | change | append |
replace | monitor > ROUTE >

iproute < list | flush >SELECTOR iproute get ADDRESS [from ADDRESS iif STRING] [oif STRING] [tos TOS] iproute < add | del | change | append | replace | monitor >ROUTE SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO] ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO] [metric METRIC]

iprule [list | add | del] SELECTOR ACTION

SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]

[dev STRING] [pref NUMBER]

ACTION := [table TABLE_ID] [nat ADDRESS]

[prohibit | reject | unreachable]

[realms [SRCREALM/]DSTREALM]

TABLE_ID := [local | main | default | NUMBER]

iptunnel < add | change | del | show >[NAME]

[mode < ipip | gre | sit >]

[remote ADDR] [local ADDR] [ttl TTL]

iptunnel < add | change | del | show >[NAME]

[mode < ipip | gre | sit >] [remote ADDR] [local ADDR]

[[i|o]seq] [[i|o]key KEY] [[i|o]csum]

[ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]

kbd_mode [-a|k|s|u] [-C TTY]

Report or set the keyboard mode

Send a signal (default: TERM) to given PIDs

killall [-l] [-q] [-SIG] PROCESS_NAME.

Send a signal (default: TERM) to given processes

killall5 [-l] [-SIG] [-o PID].

Send a signal (default: TERM) to all processes outside current session

Show listing of the last users that logged into the system

Print STRING’s length

View FILE (or stdin) one screenful at a time

ln [OPTIONS] TARGET. LINK|DIR

Create a link LINK or DIR/TARGET to the specified TARGET(s)

logger [OPTIONS] [MESSAGE]

Write MESSAGE (or stdin) to syslog

login [-p] [-h HOST] [[-f] USER]

Begin a new session on the system

Print the name of the current user

Show messages in syslogd’s circular buffer

lpd SPOOLDIR [HELPER [ARGS]]

lpq [-P queue[@host[:port]]] [-U USERNAME] [-d JOBID]. [-fs]

ls [-1AacCdeFilnpLRrSsTtuvwxXhk] [FILE].

List directory contents

List file attributes on an ext2 fs

lsmod [-qfwrsv] MODULE [symbol=value].

List all PCI devices

Decompress to stdout

Decompress FILE (or stdin)

lzop [-cfvd123456789CF] [FILE].

makedevs [-d device_table] rootdir

Create a range of special files as specified in a device table. Device table entries take the form of:

Where name is the file name, type can be one of: f Regular file d Directory c Character device b Block device p Fifo (named pipe) uid is the user id for the target file, gid is the group id for the target file. The rest of the entries (major, minor, etc) apply to to device special files. A ‘-‘ may be used for blank entries.

makemime [OPTIONS] [FILE].

Create multipart MIME-encoded message from FILEs

Other options are silently ignored

Format and display manual page

Print or check MD5 checksums

It can be run by kernel as a hotplug helper. To activate it: echo /sbin/mdev > /proc/sys/kernel/hotplug It uses /etc/mdev.conf with lines [-]DEVNAME UID:GID PERM [>|=PATH] [@|$|*PROG]

Control write access to your terminal

y

Allow write access to your terminal

n

Disallow write access to your terminal

microcom [-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY

Copy bytes for stdin to TTY and from TTY to stdout

mkdir [OPTIONS] DIRECTORY.

mkdosfs [-v] [-n LABEL] BLOCKDEV [KBYTES]

Make a FAT32 filesystem

mke2fs [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]

mkfifo [-m MODE] NAME

mkfs.ext2 [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]

Make a MINIX filesystem

mkfs.reiser [-f] [-l LABEL] BLOCKDEV [4K-BLOCKS]

Make a ReiserFS V3 filesystem

mkfs.vfat [-v] [-n LABEL] BLOCKDEV [KBYTES]

Make a FAT32 filesystem

mknod [-m MODE] NAME TYPE MAJOR MINOR

Create a special file (block, character, or pipe)

mkpasswd [OPTIONS] [PASSWORD] [SALT]

Crypt the PASSWORD using crypt(3)

mkswap [-L LBL] BLOCKDEV [KBYTES]

Prepare BLOCKDEV to be used as swap partition

mktemp [-dt] [-p DIR] [TEMPLATE]

Create a temporary file with name based on TEMPLATE and print its name. TEMPLATE must end with XXXXXX (e.g. [/dir/]nameXXXXXX).

modinfo [-adlp0] [-F keyword] MODULE

modprobe [-qfwrsv] MODULE [symbol=value].

View FILE (or stdin) one screenful at a time

mount [OPTIONS] [-o OPTS] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

Check if the directory is a mountpoint

mpstat [-A] [-I SUM|CPU|ALL|SCPU] [-u] [-P num|ALL] [INTERVAL [COUNT]]

mt [-f device] opcode value

Control magnetic tape drive operation

bsf bsfm bsr bss datacompression drvbuffer eof eom erase fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2 ras3 reset retension rewind rewoffline seek setblk setdensity setpart tell unload unlock weof wset

mv [-fin] SOURCE DEST or: mv [-fin] SOURCE. DIRECTORY

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

Rename network interface while it in the down state

nanddump [-o] [-b] [-s ADDR] [-f FILE] MTD_DEVICE

Dump the sepcified MTD device

nandwrite [-p] [-s ADDR] MTD_DEVICE [FILE]

Write to the specified MTD device

nbd-client HOST PORT BLOCKDEV

Connect to HOST and provide a network block device on BLOCKDEV

netstat [-ral] [-tuwx] [-enWp]

Display networking information

nice [-n ADJUST] [PROG ARGS]

Change scheduling priority, run PROG

Monitor system in real time

Run PROG immune to hangups, with output to a non-tty

nslookup [HOST] [SERVER]

Query the nameserver for the IP address of the given HOST optionally using a specified DNS server

ntpd [-dnqNwl] [-S PROG] [-p PEER].

od [-aBbcDdeFfHhIiLlOovXx] [-t TYPE] [FILE]

Write an unambiguous representation, octal bytes by default, of FILE (or stdin) to stdout

openvt [-c N] [-sw] [PROG ARGS]

Start PROG on a new virtual terminal

passwd [OPTIONS] [USER]

Change USER’s password. If no USER is specified, changes the password for the current user.

patch [OPTIONS] [ORIGFILE [PATCHFILE]]

pgrep [-flnovx] [-s SID|-P PPID|PATTERN]

Display process(es) selected by regex PATTERN

pidof [OPTIONS] [NAME].

List PIDs of all processes with names that match NAMEs

Send ICMP ECHO_REQUEST packets to network hosts

ping6 [OPTIONS] HOST

Send ICMP ECHO_REQUEST packets to network hosts

pivot_root NEW_ROOT PUT_OLD

Move the current root file system to PUT_OLD and make NEW_ROOT the new root file system

pkill [-l|-SIGNAL] [-fnovx] [-s SID|-P PPID|PATTERN]

Send a signal to process(es) selected by regex PATTERN

Display detailed precesses’ memory usage

popmaildir [OPTIONS] MAILDIR [CONN_HELPER ARGS]

Fetch content of remote mailbox to local maildir

poweroff [-d DELAY] [-n] [-f]

Halt and shut off power

Analyze power consumption on Intel-based laptops

Print environment VARIABLEs. If no VARIABLE specified, print all.

printf FORMAT [ARGUMENT].

Format and print ARGUMENT(s) according to FORMAT, where FORMAT controls the output exactly as in C printf

ps [-o COL1,COL2=HEADER] [-T]

Show list of processes

pscan [-cb] [-p MIN_PORT] [-P MAX_PORT] [-t TIMEOUT] [-T MIN_RTT] HOST

Scan a host, print all open ports

Print the full filename of the current working directory

Tell the kernel to automatically search and start RAID arrays

Get and possibly set the system date and time from a remote HOST

Print the device node associated with the filesystem mounted at ‘/’

Preload FILEs to RAM

Display the value of a symlink

Return the absolute pathnames of given FILE

reboot [-d DELAY] [-n] [-f]

reformime [OPTIONS] [FILE].

Parse MIME-encoded message

Other options are silently ignored

Remove SHELLs from /etc/shells

Change scheduling priority for a running process

Reverse lines of FILE

rfkill COMMAND [INDEX|TYPE]

Enable/disable wireless devices

Remove (unlink) FILEs

rmdir [OPTIONS] DIRECTORY.

Remove DIRECTORY if it is empty

rmmod [-qfwrsv] MODULE [symbol=value].

Edit kernel routing tables

Manipulate RPM packages

Output a cpio archive of the rpm file

Enter a system sleep state until specified wakeup time

run-parts [-t] [-l] [-a ARG] [-u MASK] DIRECTORY

Run a bunch of scripts in DIRECTORY

Find the current and previous system runlevel

If no utmp FILE exists or if no runlevel record can be found, print «unknown»

Start and monitor a service and optionally an appendant log service

runsvdir [-P] [-s SCRIPT] DIR

Start a runsv process for each subdirectory. If it exits, restart it.

Receive a file using the xmodem protocol

script [-afqt] [-c PROG] [OUTFILE]

scriptreplay timingfile [typescript [divisor]]

Play back typescripts, using timing information

sed [-efinr] SED_CMD [FILE].

sendmail [OPTIONS] [RECIPIENT_EMAIL].

Read email from stdin and send it

Busybox specific options:

seq [-w] [-s SEP] [FIRST [INC]] LAST

Print numbers from FIRST to LAST, in steps of INC. FIRST, INC default to 1.

setarch personality PROG ARGS

Personality may be:

setconsole [-r|—reset] [DEVICE]

Redirect system console output to DEVICE (default: /dev/tty)

setfont FONT [-m MAPFILE] [-C TTY]

Load a console font

setkeycodes SCANCODE KEYCODE.

Set entries into the kernel’s scancode-to-keycode map, allowing unusual keyboards to generate usable keycodes.

SCANCODE may be either xx or e0xx (hexadecimal), and KEYCODE is given in decimal.

Redirect the kernel output to console N (0 for current)

Run PROG in a new session. PROG will have no controlling terminal and will not be affected by keyboard signals (Ctrl-C etc). See setsid(2) for details.

setuidgid USER PROG ARGS

Set uid and gid to USER’s uid and gid, drop supplementary group ids, run PROG

Print or check SHA1 checksums

Print or check SHA256 checksums

Print or check SHA512 checksums

slattach [-cehmLF] [-s SPEED] [-p PROTOCOL] DEVICE

Attach network interface(s) to serial line(s)

Pause for a time equal to the total of the args given, where each arg can have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays

Collect memory usage data in /proc and write it to stdout

softlimit [-a BYTES] [-m BYTES] [-d BYTES] [-s BYTES] [-l BYTES]

[-f BYTES] [-c BYTES] [-r BYTES] [-o N] [-p N] [-t N]

PROG ARGS

Set soft resource limits, then run PROG

sort [-nrugMcszbdfimSTokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE].

Sort lines of text

split [OPTIONS] [INPUT [PREFIX]]

Display file (default) or filesystem status

Valid format sequences for files:

Valid format sequences for file systems:

strings [-afo] [-n LEN] [FILE].

Display printable strings in a binary file

stty [-a|g] [-F DEVICE] [SETTING].

Without arguments, prints baud rate, line discipline, and deviations from stty sane

su [OPTIONS] [-] [USERNAME]

Change user id or become root

Checksum and count the blocks in a file

sv [-v] [-w SEC] CMD SERVICE_DIR.

Control services monitored by runsv supervisor. Commands (only first character is enough):

svlogd [-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR.

Continuously read log data from stdin, optionally filter log messages, and write the data to one or more automatically rotated logs

Stop swapping on DEVICE

swapon [-a] [-p PRI] [DEVICE]

Start swapping on DEVICE

switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGS]

Free initramfs and switch to another root fs:

chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /, execute NEW_INIT. PID must be 1. NEW_ROOT must be a mountpoint.

Write all buffered blocks to disk

sysctl [OPTIONS] [VALUE].

Configure kernel parameters at runtime

System logging utility. This version of syslogd ignores /etc/syslog.conf

Concatenate FILEs and print them in reverse

Print last 10 lines of each FILE (or stdin) to stdout. With more than one FILE, precede each with a filename header.

N may be suffixed by k (x1024), b (x512), or m (x1024^2). If N starts with a ‘+’, output begins with the Nth item from the start of each file, not from the end.

Create, extract, or list files from a tar file

taskset [-p] [MASK] [PID | PROG ARGS]

Set or get CPU affinity

tcpsvd [-hEv] [-c N] [-C N[:MSG]] [-b N] [-u USER] [-l NAME] IP PORT PROG

Create TCP socket, bind to IP:PORT and listen for incoming connection. Run PROG for each connection.

Copy stdin to each FILE, and also to stdout

telnet [-a] [-l USER] HOST [PORT]

Connect to telnet server

Handle incoming telnet connections

Check file types, compare values etc. Return a 0/1 exit code depending on logical value of EXPRESSION

tftp [OPTIONS] HOST [PORT]

Transfer a file from/to tftp server

tftpd [-cr] [-u USER] [DIR]

Transfer a file on tftp client’s request

tftpd should be used as an inetd service. tftpd’s line for inetd.conf: 69 dgram udp nowait root tftpd tftpd /files/to/serve It also can be ran from udpsvd:

Run PROG, display resource usage when it exits

timeout [-t SECS] [-s SIG] PROG ARGS

Runs PROG. Sends SIG to it if it is not gone in SECS seconds. Defaults: SECS: 10, SIG: TERM.

top [-b] [-nCOUNT] [-dSECONDS] [-m]

Provide a view of process activity in real time. Read the status of all processes from /proc each SECONDS and display a screenful of them.

touch [-c] [-d DATE] [-r FILE] FILE [FILE].

Update the last-modified date on the given FILE[s]

tr [-cds] STRING1 [STRING2]

Translate, squeeze, or delete characters from stdin, writing to stdout

traceroute [-46FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]

[-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE]

[-z PAUSE_MSEC] HOST [BYTES]

Trace the route to HOST

traceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES]

[-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-i IFACE]

HOST [BYTES]

Trace the route to HOST

Return an exit code of TRUE (0)

Print file name of stdin’s terminal

Print dimension(s) of stdin’s terminal, on error return 80×25

Create or delete tun interfaces

tune2fs [-c MOUNT_CNT] [-i DAYS] [-L LABEL] BLOCKDEV

Adjust filesystem options on ext[23] filesystems

Attach MTD device to UBI

Detach MTD device from UBI

udhcpc [-fbnqvoCR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]

[-H HOSTNAME] [-V VENDOR] [-x OPT:VAL]. [-O OPT]. [-P N]

udhcpd [-fS] [-P N] [CONFFILE]

udpsvd [-hEv] [-c N] [-u USER] [-l NAME] IP PORT PROG

Create UDP socket, bind to IP:PORT and wait for incoming packets. Run PROG for each packet, redirecting all further packets with same peer ip:port to it.

umount [OPTIONS] FILESYSTEM|DIRECTORY

Unmount file systems

Print system information

uncompress [-cf] [FILE].

unexpand [-fa][-t N] [FILE].

Convert spaces to tabs, writing to stdout

uniq [-cdu][-f,s,w N] [INPUT [OUTPUT]]

Discard duplicate lines

Convert FILE in-place from Unix to DOS format. When no file is given, use stdin/stdout.

Decompress FILE (or stdin)

Decompress FILE (or stdin)

unzip [-opts[modifiers]] FILE[.zip] [LIST] [-x XLIST] [-d DIR]

Extract files from ZIP archives

Display the time since the last boot

Pause for N microseconds

uudecode [-o OUTFILE] [INFILE]

uuencode [-m] [INFILE] STORED_FILENAME

Uuencode a file to stdout

vconfig COMMAND [OPTIONS]

Create and remove virtual ethernet devices

Lock a virtual terminal. A password is required to unlock.

Show CD volume name of the DEVICE (default /dev/cdrom)

Write content of FILE or stdin to all logged-in users

watch [-n SEC] [-t] PROG ARGS

Run PROG periodically

watchdog [-t N[ms]] [-T N[ms]] [-F] DEV

Periodically write to watchdog device DEV

Use 500ms to specify period in milliseconds

Count lines, words, and bytes for each FILE (or stdin)

wget [-c|—continue] [-s|—spider] [-q|—quiet] [-O|—output-document FILE]

[—header ‘header: value’] [-Y|—proxy on/off] [-P DIR]

[—no-check-certificate] [-U|—user-agent AGENT][-T SEC] URL

Retrieve files via HTTP or FTP

Show who is logged on

Print the user name associated with the current effective user id

xargs [OPTIONS] [PROG ARGS]

Run PROG on every item given by stdin

Decompress FILE (or stdin)

Decompress to stdout

Repeatedly output a line with STRING, or ‘y’

Decompress to stdout

zcip [OPTIONS] IFACE SCRIPT

Manage a ZeroConf IPv4 link-local address

LIBC NSS

GNU Libc (glibc) uses the Name Service Switch (NSS) to configure the behavior of the C library for the local environment, and to configure how it reads system data, such as passwords and group information. This is implemented using an /etc/nsswitch.conf configuration file, and using one or more of the /lib/libnss_* libraries. BusyBox tries to avoid using any libc calls that make use of NSS. Some applets however, such as login and su, will use libc functions that require NSS.

If you enable CONFIG_USE_BB_PWD_GRP, BusyBox will use internal functions to directly access the /etc/passwd, /etc/group, and /etc/shadow files without using NSS. This may allow you to run your system without the need for installing any of the NSS configuration files and libraries.

When used with glibc, the BusyBox ‘networking’ applets will similarly require that you install at least some of the glibc NSS stuff (in particular, /etc/nsswitch.conf, /lib/libnss_dns*, /lib/libnss_files*, and /lib/libresolv*).

Shameless Plug: As an alternative, one could use a C library such as uClibc. In addition to making your system significantly smaller, uClibc does not require the use of any NSS support files or libraries.

MAINTAINER

AUTHORS

The following people have contributed code to BusyBox whether they know it or not. If you have written code included in BusyBox, you should probably be listed here so you can obtain your bit of eternal glory. If you should be listed here, or the description of what you have done needs more detail, or is incorrect, please send in an update.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *