BusyBox — набор UNIX-утилит командной строки, используется в качестве основного интерфейса во встраиваемых операционных системах. Преимуществами этого приложения являются малый размер и низкие требования к аппаратуре. Оно представляет собой единый файл (это позволяет сэкономить дисковое пространство). Разработка BusyBox была начата в 1996 году Брюсом Перенсом.
BusyBox создавался с целью оптимизации размера и с учётом ограниченных ресурсов. В то же время система является достаточно гибкой и модульной (в момент компиляции можно включить/исключить все необходимые компоненты). BusyBox представляет собой почти полную POSIX среду для встраиваемых и других систем с небольшим количеством доступного места. В настоящее время проект медленно движется к полной реализации Single Unix Specification V3[1], которая пока не достигнута. Также проект заинтересован в прохождении теста Linux Test Project.[2]
Основные команды для работы с BusyBox
Команды для работы с файлами
pwd – показать текущий каталог ( каталог в котором находится пользователь)
ls – вывести список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd /etc – сменить директорию на /etc
cd – сменить на домашний каталог
mkdir mydir – создать каталог mydir
rm file.txt – удалить file.txt
rm -r mydir – удалить рекурсивно каталог mydir
rm -f file.txt – удалить форсированно file.txt
rm -rf mydir – удалить форсированно каталог с подкаталогами mydir
cp file1 file2.txt – скопировать file1 в file2.txt
cp -r dir mydir – скопировать dir в mydir; создаст каталог mydir, если он не существует
mv file2.txt file2 – переименовать или переместить file2.txt в file2.
Если file2 существующий каталог - перемещает file2.txt в каталог file2
ln -s file filelink – создать символическую ссылку filelink к файлу file
touch myfile – создать файл myfile
cat > file.txt – направить стандартный ввод в файл file.txt
cat file.txt - вывести содержимое файла file.txt
more file.txt – вывести содержимое файла file.txt
head file.txt – вывести первые 10 строк файла file.txt на консоль
tail file.txt – вывести последние 10 строк файла file.txt на консоль
tail -f file.txt – вывести содержимое файла file.txt по мере его роста, начинает с последних 10 строк
> - Перенаправление с одного места в другое, например:
Выведем последние 10строк с файла test и вставим их в файл oktest, для этого выполним такую команду:
tail test > oktest.
Если файл oktest не существовал, то он создастся.
Управление процессами в BusyBox
ps – вывести текущие пользовательские активные процессы
top – показать все запущенные процессы и краткую информацию о ресурсах системы
kill pid – убить процесс id которого pid
killall proces – убить все процессы с именем proces
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план
Права доступа на файлы в BusyBox
chmod 640 file – замена прав доступа файла file на 640. Права назначаются раздельно для пользователя,
группы и для всех остальных сложением:
4 – чтение ®
2 – запись (w)
1 – исполнение (x)
Примеры chmod:
chmod 777 – чтение, запись, исполнение для всех пользователей
chmod 751 – чтение, запись, исполнение для владельца; чтение, исполнение для группы;
и только исполнение для остальных пользователей.
Дополнительные опции можно посмотреть набрав команду:
man chmod.
Системная информация в BusyBox
date – вывести текущую дату и время роутера
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм (время работы системы с момента её загрузки)
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о пользователе user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация о процессоре
cat /proc/meminfo – информация о памяти
man command – показать мануал для команды command
df – показать информацию о использовании дисков
du dir– вывести “вес” каталога dir
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию
Использование SSH в BusyBox
ssh user@host – подключится к host как пользователь user
ssh -p port user@host – подключится к узлу host на порт port как пользователь user
ssh-copy-id user@host – добавить ваш ключ на узел host для пользователя user чтобы включить вход
логина без пароля и по ключам
Как осуществляется поиск в BusyBox
grep pattern files – искать pattern в файле files
grep -r pattern dir – искать рекурсивно pattern в директории dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file
Процессы архивации при наличии установленных tar и gzip пакетах в BusyBox
tar cf file1.tar files1 – создать tar-архив с именем file1.tar содержащий файл files1
tar xf file1.tar – распаковать архив file1.tar
tar czf file1.tar.gz files1 – создать архив file1.tar.gz со сжатием Gzip
tar xzf file1.tar.gz – распаковать архив tar с Gzip сжатием
tar cjf file1.tar.bz2 – создать архив file1.tar.bz2 со сжатием Bzip2
tar xjf file1.tar.bz2 – распаковать архив tar с Bzip2 сжатием
gzip file1 – сжать file1 и переименовать в file1.gz
gzip -d file1.gz – разжать file1.gz в file1
Настройка сети в BusyBox
ifconfig – показать настройки найденных сетевых интерфейсов
ping host – пропинговать узел host и вывести результат
whois domain – получить информацию whois для домена domain
dig domain – получить DNS информацию для домена domain
dig -x host – реверсивно искать информацию DNS об узле host
wget file – скачать файл file
wget -c file – продолжить остановленную или оборванную закачку файла file
Установка\удаление программ из пакетов в BusyBox
/opt/bin/ipkg-opt install название программы/пакета (установка)
/opt/bin/ipkg-opt remove название программы/пакета (удаление)
dpkg -i pkg.deb – установка пакета (Debian)
rpm -Uvh pkg.rpm – установка пакета (RPM)
Установка из исходников
cd application-1.0.2
./configure
make
make install
Быстрые короткие команды
Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! - повторяет выполнение последней введенной команды.
exit – выход, то есть разлогинивание.
Это чтобы по интернету не шариться в поисках.