Команды в Android Terminal Emulator

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 интересуюсь всем, что связано с информационными технологиями и современной наукой.

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

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

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

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

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

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

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

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



    Какие интересные команды есть для эмулятора терминала?

    Ответы (2 )

    1. Эмулятор терминала - приложение для android через которое можно использовать команды для управления системой и внесения в нее изменений. Этот механизм основан на том, что система андроид включает в себя ядро linux.

      На компьютере с помощью командной строки и утилит выполняется настройка системы и подключение дополнительных модулей. Андроид унаследовал много похожих возможностей, которые можно применить для различных целей.

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

      Перед тем как начать работу с командной строкой надо отметить, что наибольший простор в модификациях будет после рутирования андроид устройства.

      Кроме этого, следует поставить busybox - бинарный файл, который позволит использовать больше команд, так как встроенных часто недостаточно. Чтобы его установить надо:

      • скачать из Play Market BusyBox;
      • открыть и предоставить ему права суперпользователя;
      • обязательно подождать пока приложения просканирует устройство;
      • нажать кнопку «install busybox»;
      • определить место «/system/xbin»;
      • нажать «ок».

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

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

      Закрывается терминал нажатием на крестик в верхнем правом углу, дальше появится окно в котором нажимаем «ok».

    2. Команд очень много, чтобы посмотреть их всех нужно написать «busybox» без кавычек. В принципе, описание каждой можно посмотреть в самом терминале, для этого надо ввести команду, о которой хотим узнать и «—help». Появится информация, но на английском. При работе с терминалом надо учесть некоторые особенности:

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

      Вот самые популярные команды терминала android:

      • cat — чтение содержимого, cp — копирование, rm — удаление файла, rmdir — удаление папки, touch — создание файла, mkdir — создание папки, - после этих команд вводим путь к нужному объекту или месту;
      • mv — перемещение, cp — копирование, - сначала пишем путь к файлу или папке потом к новому месту;
      • ls — выводит содержимое ;
      • cd — осуществляет переход к нужной директории;
      • pwd — показывает полный путь к используемой папке;
      • date — выводит настоящую дату;
      • df — показывает размер объектов в указанной папке;
      • du — печатает объем файла;
        pm install — выполняет установку программы из apk файла;
      • pm list packages - показывает пакеты-файлы установленных приложений;
      • service list - выводит список работающих процессов;
      • pm uninstall - удаляет приложение, при этом надо указывать путь /data/app/название файла, который можно узнать командой pm list packages;
      • ln - создает символьную ссылку на файл, синтаксис такой же, как у cp.

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

      • su - предоставляет полный доступ к системе на рутированных устройствах, после ее ввода строка приглашения будет выглядеть так «root@android:/ #»;
      • chown и chgrp, первая для смены владельца, вторая - группы, которые указывают после команды, а затем пишут название файла;
      • chmod - утилита по смене прав файла, синтаксис как у предыдущей - сначала права, потом файл;
      • insmod и rmmod с помощью первой подключают модули к ядру, второй - удаляют, эти команды лучше использовать только продвинутым пользователям;
      • kill - останавливает процесс по его идентификатору, который можно узнать с помощь утилиты ps - она выводит информацию обо всех активностях;
      • mount, umount предназначены для монтирования и размонтирования файловых систем и разделов, использовать только после детального изучения системы.

      Особые команды, которые выполняются эмулятором терминала Android:

      • reboot - используется после команды su для перезагрузки устройства;
      • exit - закрывает терминал, также через нее можно выйти из администратора.

      То есть мы использовали su для утилит требующих рут права и дальше, чтобы случайно что-то не поменять, вводим exit, приглашение при этом снова станет таким «u0_a106@android:/ $».

      Есть еще одна необычная утилита dd - она по байтам копирует один файл или раздел в другой. Синтаксис у нее такой:

      dd if=/dev/block/platform/mmcblk0p1 of=/storage/external_SD/image
      if= устройство, с которого копируем of= файл куда копируем. Эта команда создаст образ раздела mmcblk0p1.
      У нее есть еще 2 параметра - count= фрагмент, которым будет записываться новый файл, bs= объем фрагменты в байтах. Например, команда dd if=/storage/sdcard0/file1 of=/storage/external_SD/file2 bs=500 count=7 скопирует из file1 в file2 7 кусков по 500 байт.

    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 - выставление прав доступа



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

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



    Понравилась статья? Поделиться с друзьями: