FЕсли у вас есть смартфон на 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/

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:

Или отключение wifi:

ifconfig wlan0 down

Узнать список сетевых устройств можно командой:

ls /sys/class/net

iptables - управление настройками фаервола iptables, это очень обширная тема которой мы касаться не будем.

kill - уничтожить процесс по его PID.

Чтобы узнать pid можно использовать утилиту ps.

ln /sdcard/file /sdcard/file2

log - записать строку в лог системы.

logcut - просмотр лога системы в реальном времени.

ls - просмотр списка файлов и папок в директории:

lsmod - просмотр загруженных модулей ядра

lsof - просмотр открытых в системе файлов.

make_ext4fs - форматировать флешку в файловую систему ext4

md5 /sdcard/filename

mkdir - создать папку, в текущем каталоге.

mkdir имя_папки

make2fs - форматировать флешку в файловую систему ext2

mount - примонтировать диск, образ или папку. Например:

mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard

mv - переместить файл, аналогично cp

netcfg - просмотр информации об сетевых соединениях.

notify - утилита для слежения за изменениями в файловой системы с помощью подсистемы ядра inotify.

ping - известная утилита для проверки доступности сетевого узла.

pm - пакетный менеджер android, позволяет, устанавливать, удалять и просматривать установленные пакеты.

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 - удалить файл.

rmdir - удалить папку.

rmdir /sdcard/dirname

rmmod - выгрузить модуль ядра.

rmmod имя_модуля

route - управление таблицей маршрутизации.

touch - создать пустой файл.

touch /sdcard/file

top - интерактивный вариант списка запущенных процессов.

@ screenshot - сделать снимок экрана.

screenshot /sdcard/screenshot.png

shutdown - выключить смартфон.

service - управление сервисами. Например посмотреть список запущенных сервисов:

Это были все команды описание которых я нашел, по возможности список будет пополняться.

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

Android создан на базе ядра Linux, и для него, как для настоящей unix-подобной операционной системы, есть консоль, а в ней, естественно и команды терминала.

Получить консоль можно следующими способами:

  • Установить эмулятор терминала .*
  • Соединиться с аппаратом утилитой adb выполнив adb shell;
  • Установить OpenSSH сервер и подключиться ssh-клиентом;

Так же стоит отметить, что терминал по-умолчанию есть во многих кастомных прошивках, таких как CyanogenMod.

Стандартный интерпретатор команд терминала несколько неудобен (до версии Android 4.0) - он не поддерживает автодополнение, вызов предыдущей команды и прочие полезные вещи, имеющиеся у нормального терминала. Решить эту проблему можно установкой busybox и использованием встроенного в него интерпретатора ash.

В Android доступны многие, но не все стандартные программы UNIX . Список тех, которые есть на вашем устройстве вы можете получить выполнив ls -l /system/bin/ /system/xbin

Помимо стандартных команд UNIX в Android присутствуют некоторые дополнительные программы. Среди них есть logcat - средство для просмотра логов приложений, pm - утилита для управления пакетами (package manager), am - утилита для управления окнами (activity manager).

Вот некоторые консольные команды:

  • pm list packages - список установленных программ;
  • pm install PATH - установить программу из apk файла;
  • pm uninstall PACKAGE - удалить пакет из системы;
  • netcfg - позволит посмотреть сетевые настройки;
  • am start -n com.android.settings/.Settings - запустить окно настроек;
  • am start -n com.android.browser/.BrowserActivity - запустить браузер;
  • am start tel:210-385-0098 - показать окно набора данного номера;
  • bmgr - backup manager, управление бэкапами;
  • dumpstate - полный дамп состояния телефона;
  • dumpsys - дамп состояния системных сервисов;
  • getevent - информация об устройствах ввода и дамп событий на устройствах ввода;
  • iftop - показывает использование сети процессами (top для сети);
  • ime - управление методами ввода;
  • service - управление сервисами;
  • service list - список сервисов;
  • svc - управление wifi, мобильным подключением и питанием;

С помощью am можно запустить окно произвольного приложения (зная имя его "активити").


Команды ADB
ADB, или Android Debug Bridge - многофункциональная утилита для соединения с эмулятром Android или реальным девайсом. Работает в командной строке. Находится в Android SDK.

Вот основные команды ADB:

  • adb shell - получить шелл в Android. Конечно, полноценным *nix шеллом это не является, но после установки busybox оно как-то его напоминает. Альтернативным методом получения шелла является SSH сервер для Android . Шелл нужен для того, чтобы выполнять команды терминала .
  • adb shell - выполнить команду в Android;
  • adb emu - выполнить команду в эмуляторе;
  • adb push - залить файл или директорию на устройство;
  • adb pull [] - копировать файл или директорию с устройства;
  • adb install - установить пакет;
  • adb uninstall - удалить программу;
  • adb connect - соединиться с Android через сеть. Требует некоторой подготовки устройства, а именно настройку

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) - стандартном инструменте для отладки и работы с консолью Android с компа.

Описанные в статье команды можно выполнять непосредственно на устройстве, скачав из маркета эмулятор терминала , но удобнее это делать, конечно же, с компа через adb.

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB .

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Cd \android

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

Adb devices

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB . Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

INFO

Скопировать вывод консоли после выделения мышкой, а также вставить скопированную команду или имя файла в консоль можно правой кнопкой мыши. Включается в свойствах консоли.

Установка программ

ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

Adb install d:/downloads/имя_файла.apk

В команду также можно добавить дополнительные ключи. Полезными будут - переустановить приложение с сохранением данных и -d - установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

Adb uninstall com.rovio.angrybirdsseasons

Бэкап приложений

В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:

Adb backup [опции] <приложения>

  • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
  • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам.apk тоже (по умолчанию не включает);
  • -obb|-noobb указывает, включать ли в бэкап расширения.obb для приложений (по умолчанию не включает);
  • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
  • -all указывает на необходимость бэкапа всех установленных приложений;
  • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
  • - перечень пакетов для бэкапа.

Если мы хотим создать бэкап всех несистемных прог, включая сами.apk, в определенное место, то команда будет выглядеть так:

Adb backup -f c:\android\backup.ab -apk -all -nosystem

После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:

Adb restore c:\android\backup.ab

Консоль в консоли

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

Adb shell

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ - если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp , mv и rm . Можно менять каталоги (cd ) и смотреть их содержимое (ls ). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

Adb shell su

Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.



Создание скриншота

Выполняется одной строчкой:

Adb shell screencap /sdcard/screen.png

После этого картинку нужно выдернуть из устройства командой adb pull :

Adb pull /sdcard/screen.png

В recovery скриншот можно сделать следующей командой:

Adb pull /dev/graphics/fb0

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

Ffmpeg -f rawvideo -pix_fmt rgb32 -s 1080x1920 -i fb0 fb0.png

Запись видео, происходящего на экране устройства

adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 20 --verbose /sdcard/video.mp4

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

INFO

Все запущенные из консоли и в adb shell процессы, занимающие некоторое время для выполнения, можно прервать с помощью комбинации Ctrl + C. Выйти из шелла и вернуться к выполнению обычных команд adb - Ctrl + D.

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) - менеджер пакетов и am (activity manager) - менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков . Остановимся на некоторых.

Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Приложение Эмулятор Терминала для Аndroid предоставляет возможность использования определённых команд для управления операционной системой, а так же, внесения в неё различных изменений. Для того, чтобы понять, что такое Terminal Emulator Android, как пользоваться им, нужно понимать, на чём основан механизм работы с терминалом.

Как известно, открытая OS Android не создавалась, что называется, «с нуля» — прообразом этой популярной операционной системы является Linux (общее название для всех Unix-подобных ОС), ядро которой стало фундаментом для разработки ОС Андроид. Ядро Линукс многими используется из-за широкого спектра функциональных возможностей, а поскольку в Android включено ядро linux, то на нём и базируется механизм работы терминала.

Программа позволяет пользователю работать в ОС Android, используя командную строку Linux. На ПК через командную строку и специальные утилиты можно выполнять настройку системы и подключать дополнительные модули. Похожие возможности стали доступны и на Андроиде с Terminal Emulator for Android.

То есть, имеются двоичные (или бинарные файлы), которые взаимодействуют непосредственно с «железом» смартфона. Через эмулятор терминала запускается текстовая команда, соответствующая каждому такому файлу.

Как пользоваться эмулятором терминала

Перед началом работы с командной строкой, нужно отдельно подчеркнуть, что наибольшую свободу в модификациях можно достигнуть, получив (ROOT).

Теперь нам нужно ввести команду, например, «ls » и нажать «enter ». После этого появится список файлов, находящихся в корневой директории:

Выполнение других команд может занять некоторое время, при этом будет высвечиваться белый курсор. Если вы допустили ошибку при написании, то должна появиться вот такая надпись: «/system/bin/sh: kv: not found », говорящая о том, что среди имеющихся не найдена команда kv , а затем появится приглашение для ввода.

Чтобы закрыть терминал, в правом верхнем углу нажимаем крестик, а в следующем окне, нажимаем «ОК».

Основные команды эмулятора терминала

На самом деле, команд очень много, для их просмотра пишем busybox . Теперь, чтобы посмотреть описание существующих команд непосредственно в терминале, вводим команду, сведения о которой хотим получить, и «-help ». После этого должна появиться информация, но нужно учитывать, что она будет на английском языке.

Во время работы с терминалом необходимо учитывать некоторые нюансы:

  • Путь к папкам и файлам пишем полностью после команд (пример: rm /storage/sdcard0/download/file ).
  • Нельзя допускать каких-либо ошибок или лишних пробелов.
  • После ввода, команду запускаем кнопкой «enter ».

Популярные команды :

  • date - вывести текущие дату и время
  • free - использовать память и swap
  • ls - вывести содержимое текущей папки
  • cd - выполнить переход к нужной директории
  • du - печатать объем файла
  • pwd - показать полный путь к используемой папке
  • service list - вывести список работающих процессов
  • pm install -установка программы из apk файла
  • df - показать размер объектов в указанной папке
  • pm list packages - показ пакетов-файлов установленных приложений

После перечисленных ниже команд, нужно будет ввести путь к месту или объекту:

  • cat – читать содержимое
  • cp - копировать
  • rm - удалить файл
  • rmdir - удалить папку
  • touch - создать файл
  • mkdir - создать папку

Для следующих команд сначала пишем путь к папке (файлу), а затем, к новому месту:

  • mv - переместить
  • cp - копировать

pm uninstall - удалить приложение — здесь нужно указать путь /data/app/ и название файла без пробела (при необходимости название файла узнаём командой pm list packages )

Внимание ! Команды, которые будут описаны ниже, выполнять нужно с предельной осторожностью, потому что, они применяются в целях модификации системы, и неправильное использование может принести существенный вред самому устройству:

chown – смена владельца, chgrp – группы, которые нужно указать после команды, после чего, нужно написать название файла.

chmod - утилита для смены прав файла, причём, синтаксис такой же, как у предыдущей (т.е. в первую очередь права, затем файл).

insmod и rmmod — первая – подключение модулей к ядру, вторая – удаление (указанные команды могут использоваться исключительно продвинутыми пользователями).

kill - остановка процесса по его идентификатору (его можно узнать, используя утилиту ps, выводящую информацию о всех активностях).

mount, umount — используются в целях монтирования и размонтирования файловых разделов и систем (возможно использование только после тщательного изучения собственно системы).

su - полный доступ к системе на аппаратах с ROOT-доступом, после ввода команды, строка приглашения должна выглядеть вот так « :/# ».

Особые команды :

reboot - используется в целях перезагрузки аппарата после команды su.

exit - закрыть терминал (через эту команду можно также выйти из администратора).

В данном случае команда su используется нами для утилит, которые требуют права «суперпользователя», а дальше, чтобы что-либо не поменять случайно, нужно ввести exit, обратите внимание: приглашение снова выглядит вот так: « :/ $».

Ещё об одной необычной утилите dd – она используется для копирования одного файла или раздела в другой. Её синтаксис: dd if = / dev / block / platform / mmcblk 0 p 1 of =/ storage / external _ SD / image , где «if = » будет устройством, с которого копируем, а «of= » файлом, куда копируем.

Данная команда создаёт образ раздела mmcblk0p1 . Она имеет ещё два параметра, это «count= » — фрагмент, записывающий новый файл, и, «bs= » — объем фрагмента в байтах. Пример: команда dd if = / storage / sdcard 0/ file 1 of = / storage / external _ SD / file 2 bs = 500 count=7 выполнит копирование из file 1 в file 2 в общей сложности семь кусков по 500 байт.

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

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

Вариант 1 - Установка приложения на Android

Самый простой способ получить доступ к командой строке, это установить специальное приложение. Подобных программ полно в официальном магазине Play Маркет. Достаточно вбить в поиске слова или . Практически любое из найденных приложений позволит воспользоваться командной строкой. Стоит правда учесть, что для доступа к системному разделу вам придется предварительно получить Root-права.

Варианта 2 - Использование компьютера с ADB

Вы также можете воспользоваться персональным компьютером, однако вам предстоит выполнять ряд несложных действий. Заранее установите соответствующий драйвер для вашего гаджета. После этого необходимо будет и активировать отладку по USB. Последним шагом станет установка