Терминал на Android: Секретные команды, которые взломают ваш смартфон
Ваш Android — это не просто игрушка, а мощный компьютер с Linux внутри. И вы можете управлять им на уровне бога, если знаете нужные слова.
Представьте, что вы можете перезагружать систему одной командой, делать скриншоты, проверять память на ошибки или даже останавливать любое приложение. Всё это — реальность с терминалом.
Но как найти эти команды? В интернете — лишь обрывочные данные. Мы же собрали для вас самый полный и структурированный список.
Вы узнаете, как использовать утилиты `am` для скрытого запуска приложений и `pm` для управления ими. Поймете, как команда `screenshot` сохранит снимок экрана, а `shutdown` — мгновенно выключит устройство.
Мы покажем, как `df` проанализирует свободное место, а `badblocks` найдет битые сектора на флеш-памяти. Раскроем силу `grep` для поиска в файлах и `ps` для контроля над процессами.
Отдельно отметили команды, требующие root-доступ — они откроют вам всю мощь системы. Больше не нужно искать информацию по крупицам.
Готовы превратить ваш смартфон в инструмент настоящего гуру? Весь арсенал команд ждет вас в полной версии статьи. Погружайтесь!
Если у вас есть смартфон на 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
Sat Nov 14 13:44:56 EET 2015
dd — создать образ диска, Параметры if= файл устройства диска, of=файл для записи
Например:
dd /dev/block/mmcblk0 /sdcard/img.iso
Будет создан образ флешки mmcblk0.
df — анализ свободного места на диске. Например:
df -h /dev/block/mmcblk1
Filesystem Size Used Free Blksize
/mnt/secure 484.5M 0.0K 484.5M 4096
/mnt/asec 484.5M 0.0K 484.5M 4096
/mnt/obb 484.5M 0.0K 484.5M 4096
/system 1.4G 971.7M 435.8M 4096
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
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 1000 848 c0106ef8 0001bfb4 S /init
root 2 0 0 0 c006e038 00000000 S kthreadd
root 3 2 0 0 c0057a54 00000000 S ksoftirqd/0
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: