Busybox что это linux
Ubuntu не загружается дальше initramfs
Пользователи, которые любят экспериментировать со своей операционной системой время от времени сталкиваются с ошибкой загрузки, когда система выводит приглашение ввода BusyBox с initramfs. Эта ошибка означает, что ядро не может загрузить корневой раздел, та файловая система, к которой у вас есть доступ из этого режима не имеет ничего общего с вашей системой. Это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки системы.
В этом режиме будет сложно что-то исправить, но можно попытаться понять где находится причина проблемы. В этой статье мы рассмотрим что делать если Linux не загружается с initramfs. Такой проблеме подвержены все дистрибутивы, но мы рассмотрим решения на примере Ubuntu.
Почему Linux не загружается дальше initramfs
Если вы столкнулись с данной ошибкой, то после нескольких десятков секунд загрузки увидите такое сообщение:
1. Неверный корневой раздел в загрузчике
В данном случае она сообщает, что не может найти раздел /dev/sda10:
Alert: /dev/sda10 does not exist. Dropping to a shell
Очень часто такая ошибка возникает после манипуляций с разделами дисков, особенно изменения их размера. UUID диска меняется и ядро больше не может его найти. Вы можете посмотреть доступные в системе разделы с помощью команды:
В этом окружении есть BusyBox, а значит есть большинство утилит Unix. Вы можете примонтировать каждый из этих разделов с помощью команды mount и узнать где находится ваш новый корневой раздел, например:
mkdir /mnt
mount /dev/sda5 /mnt
ls
Вы также можете узнать здесь же UUID данного раздела диска, для этого выполните:
В данном случае, корневой раздел имеет имя /dev/sda5. Именно это имя можно передать ядру в конфигурации загрузчика Grub, а можно UUID, но если в этом нет крайней необходимости, то короткое имя использовать гораздо проще. Надо перезагрузить компьютер, в меню Grub выбрать нужную загрузочную запись и нажать клавишу E:
Далее найти пункт, начинающейся со слова linux и в нём параметр root. Его значение вместе со словом UUID надо стереть, а вместо него прописать имя корневого раздела:
После этого система загрузится, а вам останется только создать новый конфигурационный файл 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. Нужные аплеты добавить в командной строке или рут эксплорером создать симлинки.
Что такое симлинк?
Какие симлинки должны быть в папке 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: что это за проект и зачем он нужен?
Сисадмины, а также пользователи 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 < [dev STRING] [to PREFIX] > | |
ipaddr
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.