• Команды терминала андроид. Команды в Android Terminal Emulator

    Существует множество инструментов для работы с подключенным с помощью 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. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

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

    Qute - быстрый и мощный терминал.
    Командная строка, или консоль - это разновидность текстового интерфейса, в котором взаимодействие с компьютером осуществляется при помощи команд. Любителей подобного способа общения с системами не так уж и мало, и причины очевидны. Это лёгкость автоматизации, вызов любой команды небольшим количеством нажатий, отсутствие деталей интерфейса и многое другое. Испытать возможности консоли на своём смартфоне, выполнив множество терминальных команд и bin-файлов, поможет приложение Qute.

    Пользователю не понадобится тратить время на авторизацию при помощи учётных записей социальных сетей или создание нового аккаунта. Спустя несколько мгновений после нажатия на иконку приложения на экране появится консоль и клавиатура для ввода команд. Вполне вероятно, что перед непосредственным использованием возможностей Qute владелец смартфона захочет исследовать все закоулки его меню. На этот случай в левом верхнем углу дисплея находится кнопка для переключения между окнами, а в правом верхнем - сразу три элемента управления.

    Прежде всего, это список команд, редактировать который можно самостоятельно. При добавлении команды пользователю требуется ввести её имя и собственно команду с аргументами. Кроме того, здесь можно создать ярлык или запрограммировать запуск команды при загрузке устройства.

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

    Во время ввода команд перед пользователем будут появляться подсказки для аргументов, что значительно упрощает работу. Приложение поддерживает большинство популярных команд с PC. Сюда можно отнести ping, netstat, trace, cd, mkdir и много другое. К преимуществам можно также отнести поддержку рутованных устройств. Qute удастся предоставить владельцу девайса полный доступ ко всем возможностям системного терминала. Соответственно, контроль над системой будет находиться исключительно в ваших руках.

    Особенности :

  • Редактор bash скриптов
  • Запуск команд терминала и доступных bin файлов
  • Создание своего списка команд
  • Автоматическое завершение команд
  • Поддержка рутованных устройств
  • Скачать программу Qute: Командная строка на Андроид вы можете по ссылке ниже.

    Разработчик: D.D.M.
    Платформа: Android 4.0 и выше
    Язык интерфейса: Русский (RUS)
    Состояние: Free (Бесплатно)
    Root: Не нужен



    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 через сеть. Требует некоторой подготовки устройства, а именно настройку

    Name_device:/ $
    Где
    Name_device:/ это имя вашего смартфона (планшета)

    su - команда su дает вам права Root, права администратора, то есть можно выполнять с устройством после этой команды все (до этого нет), также вам необходимо получить root на ваше android устройство.

    Примечание: До выполнения команды Su вы с правами гостя.
    Name_device:/ $
    Символ $ означает что Вы под гостем (т.е. ничего не можете делать)
    Name_device:/ #
    Символ # означает что вы Root
    Пример
    Name_device:/ $ su
    Name_device:/ #

    pwd – показывает текущий каталог, в котором вы находитесь.

    ls – команда показывает что находится в текущей директории, а именно файлы и директории.
    Пример
    Name_device:/ # ls
    system
    data
    mnt
    bin
    итп...

    ls -a – команда показывает что находится в текущей директории, а именно файлы и директории, но со скрытыми файлами.
    Примечание: Скрытые файлы, в отличие от Windows выглядят как.Name (точка и Имя файла)

    clear - очистить экран терминала.

    cd – команда для перехода в какую либо директорию (каталог).
    Пример
    Name_device:/ # cd system
    Name_device:/system #
    Примечание: Директория или Каталог означает Папка
    cd .. - перейти в директорию уровнем выше

    mkdir - команда создает директорию (папку).
    Пример
    Name_device:/sdcard # mkdir android
    Примечание: Папка Name и name это две разные папки

    rm – удаляетт файл.

    rm -r удаляет каталог (Примечание: если вы не укажете параметр –r выдаст ошибку о невозможности удалить каталог).
    Пример
    Name_device:/sdcard # rm -r dom

    rm -rf – удаляет файл и не выдает сообщения, если такого файла нет или нет прав на запись в него rm -rf – удаляет папки не выдавая сообщений.

    cp – копирует файл.

    cp -r копирует директорию.

    mv – переименовывает файл.
    Пример
    Name_device:/sdcard # mv android ANDROID

    touch – создание пустого файла.

    cat – выводит текст находящийся в файле.
    Пример
    Name_device:/sdcard # cat skazka

    tac - выводит текст находящийся в файле в обратном порядке (1 строка последняя, последняя первая).
    Пример
    Name_device:/sdcard # tac skazka
    Примечание: если увидите перед строкой стоит знак # то параметр не обрабатывается

    ps – выводит Ваши текущие активные процессы.

    mount – монтирует (Подсоединяет).

    umount - размонтирует.

    date – выводит текущую дату и время.

    cal – выводит календарь текущего месяца.

    uptime - показывает сколько времени работает операционная система.

    df – показать информацию об использовании дисков.

    free – используемая память и swap.

    free -m - полный объем, использованный объем и объем свободной памяти в Mb.

    du - сколько места занимают ваши данные

    halt - быстрое и корректное выключение системы

    chmod - выставление прав доступа



    Терминальные команды актуальны для всех ОС, построенных на базе Linux(Unix), в том числе и для Android.
    Чтобы в ОС Android можно было использовать нижеприведенные команды, нужно получить Root права , установить эмулятор терминала и приложение busybox (именно в этом приложении содержатся все нижеприведенные команды).
    Для того, чтобы вывести список всех поддерживаемых busybox "ом команд, нужно набрать в эмуляторе терминала команду busybox . Это и есть shell.

    Получение справки о командах

    man
    Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q.
    Пример: man fstab
    apropos
    Поиск по описаниям man.
    Пример: apropos iso

    Работа с файлами и папками

    cd Смена текущей папки. Пример: cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя. cd /etc - переход в папку /etc
    cp Копирование файлов и каталогов из одного в другие каталоги ls Выводит список файлов и папок в порядке, указанном с помощью опций. В отличие от dir подсвечивает файлы по типу. С параметром -l выводит дополнительную информацию о файлах: права, владельца, дату создания и т.д. ls без параметров выводит содержимое текущей папки. ls /proc выводит все работающие процессы mv Перемещение или переименование файлов. Если в качестве аргументов заданы имена двух файлов, то имя первого файла будет изменено на имя второго. Пример: mv file1 file_1 - переименовывает файл
    Если последний аргумент является именем существующего каталога, то mv перемещает все заданные файлы в этот каталог.
    Пример: mv file ./dir/ - перемещает "file" в "dir/file" относительно текущего каталога rm Удаление файла. С ключем -R удаляет в подкаталогах. Пример: rm -R ~/killme mkdir Создание каталога. pwd Выводит текущий путь rmdir Удаление пустого каталога. touch Создание пустого файла. Пример: touch /home/primer - создает пустой файл /home/primer

    Права доступа к файлам и папкам

    chown Смена владельца. chgrp Смена группы владельца. chmod Смена прав. Пример: сhmod -R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

    Просмотр файлов

    cat Вывод файла. Пример: cat /etc/fstab . tail Вывод конца файла. Удобно при работе с логами и большими файлами. Пример: tail /var/log/messages .

    Утилиты для работы с архивами

    ar, bzip2, dpkg, gzip, rpm, tar, zip

    Утилиты для обработки содержимого файлов

    awk, ed (текстовый редактор), patch, sed, vi (текстовый редактор).

    Редактирование файлов

    nano и pico — наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

    Команды монтирования и отмонтирования дисков

    mount [параметры] устройство путь Монтирование устройства. Пример: mount /dev/sda1 /mnt/Disk1 . umount устройство/путь Размонтирование. Пример: umount /mnt/Disk1 . eject Размонтирование и выброс CDROM.

    Работа с ядром и модулями ядра (драйверами устройств)

    lsmod Показывает список всех модулей, загруженных в ядро и зависимости между ними. insmod rmmod modprobe имя-модуля [параметры] Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Модули хранятся в /lib/modules в файлах с расширением.ko («kernel object») Пример: modprobe radio-aztech io=0x350 . modinfo имя-модуля Информация о модуле, в том числе и список параметров. modconf Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf .

    Управление процессами:

    ps – выводит на экран информацию о текущих активных процессах.
    top – выводит на экран информацию об активных процессах, а также о системных ресурсах.
    kill pid – убивает процесс, id которого равно указанному значению processed.
    killall process – убивает все активные процессы с именем process.
    bg – выводит на экран перечень остановленных и фоновых задач; продолжает выполнение остановленной задачи в фоне.
    fg – выводит на передний план последние активные задачи.
    fg n – выносит задачу с указанным именемданном случае – n) на передний план.

    Работа с датой и временем:

    adjtimex - позволяет изменять в ядре переменные времени с целью корекции скорости хода системных часов

    date - настройка системных часов

    Hwclock - настройка аппаратных часов

    Утилиты работы с системными учетными записями

    adduser, addgroup, deluser, delgroup, login, passwd, su

    Сетевые команды

    arp, arping, dnsd, ftpget, ftpput, httpd (с поддержкой авторизации, CGI), ifconfig, inetd, netstat, nslookup, ping/ping6, route, telnetd, tftp, traceroute, udhcpd, wget.

    ifconfig - настройка сетевого интерфейса wget - скачивание файла по HTTP/FTP.

    Другие полезные консольные программы и команды Linux

    hdparm Управление жесткими дисками и приводами компакт-дисков. Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM. watch Периодическое выполнение команды. Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD. pppconfig Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog — команды установления, разрыва и просмотра лога соединения соответственно. pppoeconf Аналогично, настройка выхода в Интернет через ADSL-модем. whoami Позволяет узнать имя пользователя, если забыл iftop команда для просмотра сетевых подключений с консоли netstat Команда показывает содержимое различных структур данных, связанных с сетью, в различных форматах в зависимости от указанных опций. iwconfig вывод информации о wi-fi сетевых интерфейсах iwlist scan вывод информации о точках доступа в радиусе действия free свободная память

    Суперпользователь root

    Обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root .

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

    Однако такие дистрибутивы как Ubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu выполняется автоматически при установке дистрибутива.

    Особенности работы терминалов Linux

    Записанные в файл команды выполняются командой sh имя_файла .

    Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.

    Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип "молчит, значит работает".

    В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.

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

    Shell Скриптинг

    Последовательность комманд может быть оформлена в виде исполняемого файла. Это скрипт.

    Первая строка скрипта описывает стандартный путь переменных