Если у вас есть смартфон на Android и вы знакомы с Linux то наверное хоть раз интересовались как использовать терминал в Android. Как вы знаете операционная система Android основана на ядре Linux, а это значит что здесь есть командная оболочка и в ней доступны множество стандартных команд Linux. По умолчанию стандартной утилиты терминала в Android нет. Получить к нему доступ можно несколькими путями:
- первый - скачать приложение Android Terminal Emulator с GooglePlay.
- второй подключиться к смартфону с компьютера с помощью отладчика adb.
Но наша статья не об этом, сегодняшняя тема: команды в Aandroid Terminal Emulator или точнее команды терминала Android.
В интернете есть много статей на эту тему но во всех них чего-то не хватает, описана пара специфичных команд и на этом все, а хочется полный список, включая команды Linux, тогда я и решил написать эту статью. Я не говорю что я опишу все команды, но постараюсь охватить большинство. Здесь приведено лишь короткое описание о некоторых командах Android я расскажу подробнее в следующих статьях, а о командах Linux можно найти подробную информацию в интернете.
Теперь об обозначениях — для некоторых команд необходимы права root, перед ними я буду ставить знак @.
Начнем. Команды терминала это ничто иное как небольшие консольные утилиты, большинство системных утилит находится в папке /system/bin и еще несколько в /vendor/bin. Те что в vendor мы трогать не будем. Чтобы было удобнее расположу все команды по алфавиту.
adb - Отладчик андроид. Поскольку Android это все же Linux, к нему по USB можно подключать другие устройства в том числе смартфоны, adb позволяет ими управлять и дает доступ к их терминалу. описание его команд и возможностей тянет на целую статью, я опишу все в одной из следующих статей.
am - Менеджер окон (Action Manager), с помощью него можно запустить и остановить любое приложение или сервис. Например запуск приложения настройки:
am start -n com.android.settings/.Settings
badblocks — проверка флешки на наличие битых секторов:
Результат можно записать в файл:
badblocks /dev/block/mmcblk0 > /sdcard/badblocks
или вывести на экран:
badblocks -v /dev/block/mmcblk0
bmgr — управление резервным копированием Android.
cat — консольная утилита для просмотра содержимого файла.
cat /sdcard/text.txt
chmod — аналогична команде Linux, меняет права доступа файла, доступен только восьмеричный формат записи.
Например дать все права (чтение, запись, выполнение):
chmod 777 /sdcard/file
chown — меняет владельца файла в Linux, Например:
chown root /sdcard/file
cmp — сравнивает два файлы
cmp /sdcard/file1 /sdcard/file2
cp — копирует файл, из источника(параметр 1) в приемник(параметр 2).
cp /sdcard/file1 /sdcard1/
Подробнее о cp можно почитать в статье копирование файлов в linux
date — показать текущую дату в системе.
date
dd — создать образ диска, Параметры if= файл устройства диска, of=файл для записи
Например:
dd /dev/block/mmcblk0 /sdcard/img.iso
Будет создан образ флешки mmcblk0.
df — анализ свободного места на диске. Например:
df -h /dev/block/mmcblk1
dmesg — просмотр лога сообщений ядра.
du — просмотр размера файла.
du /sdcard/file1
@ ext4_resize изменение размера раздела с файловой системой ext4.
@ fsck_msdos — проверка флешки на ошибки.
fsck_msdos /dev/block/mmcblk1p1
grep — утилита для фильтрации текста. Например вывести только строки содержащие terminal:
cat ~/sdcard/file | grep terminal
@ ifconfig — просмотр и управление сетевыми устройствами. Например просмотр информации о карте wifi:
ifconfig wlan0
Или отключение wifi:
ifconfig wlan0 down
Узнать список сетевых устройств можно командой:
ls /sys/class/net
iptables — управление настройками фаервола iptables, это очень обширная тема которой мы касаться не будем.
kill — уничтожить процесс по его PID.
kill 1435
Чтобы узнать pid можно использовать утилиту ps.
ln — создать ссылку на файл или папку, если указан параметр -s — символическую ссылку.
ln /sdcard/file /sdcard/file2
log — записать строку в лог системы.
log "Hollo log"
logcut — просмотр лога системы в реальном времени.
ls — просмотр списка файлов и папок в директории:
ls /mnt/
lsmod — просмотр загруженных модулей ядра
lsof — просмотр открытых в системе файлов.
make_ext4fs — форматировать флешку в файловую систему ext4
md5 — подсчитать контрольную суму файла.
md5 /sdcard/filename
mkdir — создать папку, в текущем каталоге.
mkdir имя_папки
make2fs — форматировать флешку в файловую систему ext2
mount — примонтировать диск, образ или папку. Например:
mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard
Подробнее о монтировании можно почитать в моей статье: Монтирование в Android
mv — переместить файл, аналогично cp
netcfg — просмотр информации об сетевых соединениях.
notify — утилита для слежения за изменениями в файловой системы с помощью подсистемы ядра inotify.
ping — известная утилита для проверки доступности сетевого узла.
ping ya.ru
pm — пакетный менеджер android, позволяет, устанавливать, удалять и просматривать установленные пакеты.
ps — просмотр всех запущенных процессов и информации о них.
ps
reboot — перезагрузить смартфон из консоли.
resize2fs — аналогично resize_ext4, только для ext2
rm — удалить файл.
rm /sdcard/file
rmdir — удалить папку.
rmdir /sdcard/dirname
rmmod — выгрузить модуль ядра.
rmmod имя_модуля
route — управление таблицей маршрутизации.
touch — создать пустой файл.
touch /sdcard/file
top — интерактивный вариант списка запущенных процессов.
@ screenshot — сделать снимок экрана.
screenshot /sdcard/screenshot.png
shutdown — выключить смартфон.
shutdown -h now
service — управление сервисами. Например посмотреть список запущенных сервисов:
service list
Это были все команды описание которых я нашел, по возможности список будет пополняться.
Десерт на сегодня - обзор новой версии Android 6.0 Marshmallow:
Я хотел получит полный описания как найти вайфай пароль спосибо заранее
Посмотреть пароль к сети которую вы уже использовали можно с помощью программы WiFi Key Recovery, ее очень легко установить из GooglePlay. Правда для функционирования программы нужны права root.
Команды getprop, setprop не описали
Если у тебя есть рут права,можешь скачать Wifi key recovery(вроде бы правильно написал название )
Спасибо за проделанную работу, надеюсь прояснить для себя хоть некоторые возможности Android. Буду заходить к Вам почаще.
А можно подробнее про make_ext4fs? И как её применить к sdcard0?
Как всё это применить на sdcard0?
Объём 11,61 ГБ (или 12465Мб - другое приложение показывает)
make_ext4fs [ -l ] [ -j ] [ -b ]
[ -g ] [ -i ] [ -I ]
[ -L ] [ -f ] [ -a ]
[ -S file_contexts ]
[ -z | -s ] [ -w ] [ -c ] [ -J ] [ -v ]
[]
Каким образом эти параметры вводить? Т.е. ставить ли квадратные скобки на каждый и ставит ли "-" и букву параметра? Ну и, что значит " -l", "-z | -s", "-w", "-c", "-J", "-v"?
make_ext4fs /dev/block/mmcblk0p16
Здесь /dev/block/mmcblk0p1 - раздел на вашей флешке. Можно использовать следующие опции:
-b размер блока. Должно быть число в степени 2-ки, начиная с 512. Т.е. 512 байт, 1КБ, 2КБ, 4КБ и далее. 4Кб - стандартный и вполне его хватит.
-j размер журнала. ext4 журналируемая же система... Значения, как в прошлом случае.
-L имя для раздела. нам его задавать бессмысленно ИМХО. Андройд же. А вот для /sdcard можно, только ее форматировать надо в другой ФС.
-a точка монтирования для Android (/data, /system и проч.). Очень полезно, если мы все же решили, например, урезать /sdcard ради кэша или чего еще, потому из него создаем ФС и новый маунт. Лучше не прописывать там значения для постороннего маунта (форматируешь кэш - монтируй кэш).
-s не выводить информацию о процессе (silent)
А не могли бы вы написать пример, как оно должно выглядеть с командой и опциями?
А также, кто такой inodes и inodes size?
Ввожу: "make_ext4fs /dev/block/nandj 11.61Gb"
Выводит:
"Creating filesystem with parameters:
Size: 12465471488
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 32768
Label:
Blocks: 3043328
Block groups: 93
Reserved block group size: 743
error: build_directory_structure: scandir: No such file or directory"
Что сделать, чтобы оно создало структуру и отформатировало?
Не подскажете как установить нано например, типо как в линуксе apt-get install nano , как это в андройде сделать?
Установите приложение BusyBox, там есть много стандартных утилит Linux в том числе и nano.
Ребята у меня такая ситуация хочу поменять прошивку на смартфон но у меня не работает кнопка громкасти в низ, можно как нибуть запустить давлонд мод кодами?
Можно, если установлен пакет android-tools-adb на компьютер. В этом случае можно подключить смартфон к компу (предварительно не забыв включить на смартфоне отладку по USB) и командой adb devices проверить, видит ли adb ваш смартфон. Если видит, то вы получите что-то вроде этого:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
41d01234a567ad8 device
Затем командой adb reboot bootloader попадаете в свой "давлонд мод".
Здравствуйте, надеюсь, что все еще отвечаете по данной теме..
Хочу узнать, как менять TTL на телефоне с помощью терминал эмулятора.
Команда screenshot /sdcard/screenshot.png почему-то ничего не создаёт, если указать создание файла. А вот просто screenshot /sdcard создаёт скриншот с названием tmp.bmp.
Android 2.3.7. Кстати, в busybox апплета screenshot нет, он отдельный.
Здравствуйте.Подскажите пожалуйста, можно ли вывести телефон с помощью команды из постоянного режима ОТГ?
shutdown нету в эмуляторе. Reboot есть.
Добрый вечер.
Возможно ли использование телефона в виде проверки сигнала на розетке RJ45?
То-есть через переходник подключаем витую пару к телефону и проверяем получаемый IP.
Это реально?
Да есть юсб свисток на али с rj45 там в комплекте есть драйвера для андройд, скорее всего такое можнь осуществить но я бы предпочел лан тестер, его легче заменить чем флагман, еси какой нибудь новичек из щалости перепутал напругу в витой паре ....
Привет какие команды кода вызывают запуск приложений в андроид?
Полный список встроенных команд выводится в терминале по команде: ls system/bin
В остальном wiki, google и Yandex вам в помощь.
Но действия с командами терминала требуют адекватную голову. С хорошим пониманием темы. Или в лучшем случае потеря данных а в худшем кирпич.
Скажите, реально ли записать через Termux заранее заготовленный образ, созданный в Windows с помощью UltraISO с использованием юсб-флешки ? (образ юсб-флешки на внутреннюю Micro SD флешку в телефоне ).
Путь к файлу в памяти телефона могу найти и прописать разумеется.
В общем сделать по инструкциям к команде dd хочу (пару таких инструкций есть в Ютубе).
А почему в Android нет терминала по умолчанию?
Расскажите больше про RFC editor