Android как запустить приложение в терминале. Где находится и, как запустить командную строку на Android

Операционная оболочка для мобильных устройств Android не была создана с нуля. Разработчики взяли ядро Linux, немного доработали его и получили всем известную на сегодняшний день систему. С прообразом, мобильную платформу роднит только ядро и несколько программ для управления аппаратной частью. Но как известно, Linux многие используют именно из-за широких функциональных возможностей, в нем можно делать практически все. На Андроиде же подобное возможно только после получения ROOT-прав, что автоматически лишает устройство гарантии. В этой статье будет рассмотрена одна важная функция – эмулятор терминала для Аndroid.

Как получить ROOT права: Видео

С чего начать

В первую очередь необходимо получить ROOT-права на своем гаджете. Только тогда можно будет использовать всем преимущества терминала. Но можно этого и не делать. Опишем инструкцию использования функцией:

Один момент, который хотелось бы отметить особо, существует Android Terminal Emulator увеличение памяти. Есть команда command rm, которая может удалить любые файлы (при наличии ROOT-доступа). Сделать такое не всегда возможно через стандартные средства. Последнее является дополнительным аргументом за получение полного доступа и установки терминала. Кстати есть и другие программы с такими функциями, например, busybox .

Как установить кастомную прошивку на Android: Видео

Эмуляция входящего вызова на эмуляторе

При всей широте функциональных возможностей, многие пользователи задают вопрос – как эмулировать входящий вызов в эмуляторе Android. Сделать это лучше всего на компьютере. Рассмотрим на примере Android SDK. Для этого, необходимо зайти в меню «Контроль над эмуляцией». Выбрать пункт «Телефон», ввести номер, поставить галочку возле «Voice» и нажать «Звонить». Ответить или отменить звонок можно с помощью зеленой кнопки эмулируемой оболочки. Такая процедура актуальна только для установленного и настроенного на компьютер эмулятора.

Терминальные команды актуальны для всех ОС, построенных на базе 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 Скриптинг

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

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

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

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

Сразу оговоримся, что для пользователей операционной системы Linux данные команды уже знакомы. Для начала, запускаем сам терминал. Предварительно его, естественно, нужно загрузить и установить на Android-устройство.

Видим на экране следующее:

Device_name:/ $

Device_ name – это название вашего Android-устройства.

Данная команда даёт Root-права, то есть позволяет выполнять любые действия, естественно сначала надо получить Root-доступ для устройства. До выполнения этой команды, вы ограничены правами и доступом гостя.

Device_name:/ $

Символ «$» означает, что в текущий момент у вас лишь права гостя, то есть делать можете мало что.

Device_name:/ #

Символ «#» означает, что в данный момент у вас есть Root-права.

Вы можете видеть в терминале, например, следующую закономерную последовательность, после введения команды SU :

Device_name:/ $ su

Device_name:/ #

Команда, выполняющая переход в любую папку (директорию), например:

Device_name:/ # cd dir1

Device_name:/dir1 #

Примечание, «CD .. » выполняет переход в директорию на один уровень выше.

Данная команда выводит список содержимого (файлы и каталоги) текущей директории, например:

Device_name:/ # ls

bin

Примечание, «LS- A » выводит полный список содержимого текущей директории, в том числе скрытые файлы. В отличие от Windows, скрытые файлы имеют вид точка-Имя, например . name

Выводит на экран текст, который находится в файле, например:

Stroka2

Выводит текст, который находится в файле, но в обратном порядке, то есть сначала последняя строка, в конце – первая. Например:

Device_name:/sdcard # cat test

Данная команда создает каталог (папку), например вот так:

Device_name:/sdcard # mkdir testdir1

Важно, в Linux-подобных системах, к которым относится и операционная система Android, имеет значение регистр в названии файлов и папок, так что testdir1 и Testdir1 – разные директории.

Команда, выполняющая удаление указанного файла.

RM – R

Команда, выполняющая удаление указанной папки. Например:

Device_name:/sdcard # rm -r dir1

Выполняет копирование файла.

CP – R

Выполняет копирование директории.

Переименовывает указанный файл. Пример:

Device_name:/sdcard # mv filetest FileTest

Показывает на экране полный путь к текущей директории.

Команда, которая создает пустой файл. Например:

Device_name:/sdcard # touch file1

Device_name:/sdcard # wgе t httр ://video.mkv

Выводит на экран текущие дату и время.

Отображает на экране календарь на текущий месяц.

Примечание – если ввести, например, «CAL 2012 », то на экран будет выведена таблица-календарь 2012 года.

Отображает на экране текущие процессы.

Производить монтирование указанного пути.

Производить демонтирование указанного пути.

Команда выполняет быстрое и корректное полное выключение системы.

FREE – M

Отображает на экране текущее состояние оперативной памяти (в мегабайтах).

Отображает на экране текущее использование накопителей.

Выполняет очистку от всех выведенных символов экрана терминала.

Отображает, сколько места на накопителе занимают данные пользователя.

Отображает время работы операционной системы после предыдущего включения.

Выставляет права доступа на перечисленные файлы, например:

Установка прав на перечисленные файлы

chmod 777 file1 file2 file3

Для группы (g = group) и для других (o = others) добавить флаг чтения (r)

chmod go+r /home/user2/folder1/filexxx.txt

Для группы (g = group) и для других (o = others) убрать флаг чтения (r)

chmod go-r /home/user2/folder1/filexxx.txt

Теперь давайте рассмотрим permission или права доступа, которые мы только что задавали файлам. Они делятся на две группы, это права доступа к файлам, и права доступа к директориям. Что касается прав доступа к файлам, то они могут иметь следующие атрибуты:

r - (read) право на чтение данных из файла.

w - (write) право на запись или изменение данных (не удаление!).

x - право на исполнение файла.

Права доступа к директориям могут иметь такие атрибуты:

r - право на чтение директории.

w - право на изменение содержимого папки, то есть можно удалять и создавать объекты в данном каталоге.

x - право, позволяющее входить в директорию.

Права доступа делятся на три большие категории:

u - «user», или владелец файла.

g - «group». Член той же группы пользователей, к которой принадлежит и владелец объекта.

o - «world», или все остальные.

Права доступа записываются в следующем порядке: сначала права для владельца («u»), далее для группы («g»), и в конце – для всех остальных («o»). Права записываются в виде RWX, причем если на месте любой из букв присутствует «-», то это значит, что право на действие отсутствует.

Для примера, следующий набор атрибутов:

означает, что владелец объекта имеет абсолютно все права, то есть на чтение, запись и исполнение, а остальные категории – только право на чтение файла.

Также, помимо буквенного выражения прав, возможно числовое, где:

«r» – это 4

«w» – это 2

«x» – это 1

«-» – это 0

Сумма данных числовых значений выражает права, то есть:

7 (rwx) = 4 + 2 +1 (полные права)

5 (r-x) = 4 + 0 + 1 (чтение и выполнение)

6 (rw-) = 4 + 2 + 0 (чтение и запись)

4 (r-) = 4 + 0 + 0 (только чтение)

Иногда права выражают не из трёх, а их четырех цифр – это значит, что помимо владельца, группы и остальных, есть Superuser, то есть главный администратор. Числовое значение, отвечающее за его права, находится на первом месте.

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





Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: