Команды Android Terminal Emulator на андроид
Какие интересные команды есть для эмулятора терминала?
Эмулятор терминала — приложение для android через которое можно использовать команды для управления системой и внесения в нее изменений. Этот механизм основан на том, что система андроид включает в себя ядро linux.
На компьютере с помощью командной строки и утилит выполняется настройка системы и подключение дополнительных модулей. Андроид унаследовал много похожих возможностей, которые можно применить для различных целей.
То есть имеются бинарные файлы, взаимодействующие непосредственно с «железом». Каждому такому файлу соответствует текстовая команда, которая запускается через эмулятор терминала.
Перед тем как начать работу с командной строкой надо отметить, что наибольший простор в модификациях будет после рутирования андроид устройства.
Кроме этого, следует поставить busybox — бинарный файл, который позволит использовать больше команд, так как встроенных часто недостаточно. Чтобы его установить надо:
- скачать из Play Market BusyBox;
- открыть и предоставить ему права суперпользователя;
- обязательно подождать пока приложения просканирует устройство;
- нажать кнопку «install busybox»;
- определить место «/system/xbin»;
- нажать «ок».
Дальше ждем пока закончится установка и закрываем. Приложение можно удалить, но лучше оставить, так как через него busybox обновляется.
После этого можно приступить к установке терминала на андроид и работе с ним. Для этого:
- из Play Market устанавливаем приложение Terminal Emulator for Android;
- открываем его, появится приглашение для ввода текста «u0_a106@android:/ $» так и должно быть;
- вводим команду, например, ls и нажимаем «enter»;
- появится результат работы, в нашем случае выведется список файлов в корневой директории.
Другие команды могут выполняться долго, при этом высветится белый курсор. Если при написании была допущена ошибка, то появится надпись «/system/bin/sh: kv: not found» и приглашение для ввода. Это сообщение говорит о том, что команда kv не найдена среди имеющихся.
Закрывается терминал нажатием на крестик в верхнем правом углу, дальше появится окно в котором нажимаем «ok».
Команд очень много, чтобы посмотреть их всех нужно написать «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 байт.
Источник
Команды в Android Terminal Emulator
Если у вас есть смартфон на 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 — консольная утилита для просмотра содержимого файла.
chmod — аналогична команде Linux, меняет права доступа файла, доступен только восьмеричный формат записи.
Например дать все права (чтение, запись, выполнение):
chmod 777 /sdcard/file
chown — меняет владельца файла в Linux, Например:
chown root /sdcard/file
cmp — сравнивает два файлы
cmp /sdcard/file1 /sdcard/file2
cp — копирует файл, из источника(параметр 1) в приемник(параметр 2).
cp /sdcard/file1 /sdcard1/
Подробнее о cp можно почитать в статье копирование файлов в linux
date — показать текущую дату в системе.
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 — просмотр размера файла.
@ ext4_resize изменение размера раздела с файловой системой ext4.
@ fsck_msdos — проверка флешки на ошибки.
grep — утилита для фильтрации текста. Например вывести только строки содержащие terminal:
/sdcard/file | grep terminal
@ ifconfig — просмотр и управление сетевыми устройствами. Например просмотр информации о карте wifi:
Или отключение wifi:
ifconfig wlan0 down
Узнать список сетевых устройств можно командой:
iptables — управление настройками фаервола iptables, это очень обширная тема которой мы касаться не будем.
kill — уничтожить процесс по его PID.
Чтобы узнать pid можно использовать утилиту ps.
ln — создать ссылку на файл или папку, если указан параметр -s — символическую ссылку.
ln /sdcard/file /sdcard/file2
log — записать строку в лог системы.
logcut — просмотр лога системы в реальном времени.
ls — просмотр списка файлов и папок в директории:
lsmod — просмотр загруженных модулей ядра
lsof — просмотр открытых в системе файлов.
make_ext4fs — форматировать флешку в файловую систему ext4
md5 — подсчитать контрольную суму файла.
mkdir — создать папку, в текущем каталоге.
make2fs — форматировать флешку в файловую систему ext2
mount — примонтировать диск, образ или папку. Например:
mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard
Подробнее о монтировании можно почитать в моей статье: Монтирование в Android
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 — удалить папку.
rmmod — выгрузить модуль ядра.
route — управление таблицей маршрутизации.
touch — создать пустой файл.
top — интерактивный вариант списка запущенных процессов.
@ screenshot — сделать снимок экрана.
shutdown — выключить смартфон.
service — управление сервисами. Например посмотреть список запущенных сервисов:
Это были все команды описание которых я нашел, по возможности список будет пополняться.
Десерт на сегодня — обзор новой версии Android 6.0 Marshmallow:
Источник
Android Shell Command Reference
Clone this wiki locally
#The Android Shell
A «shell» is a program that listens to keyboard input from a user and performs actions as directed by the user. Android devices come with a simple shell program. This shell program is mostly undocumented. Since many people are curious about it I thought I’d write up some documentation for it.
The built-in shell has very limited error handling. When you type a command name incorrectly it will say «permission denied», even though the real problem is that it couldn’t find the command:
#The PATH variable
The Android shell will run any program it finds in its PATH. The PATH is a colon (‘:’) seperated list of directories. You can find out what your shell’s PATH is set to by using the built-in echo command:
Depending upon your shell, you may see a different result.
#Built in Commands
Every shell has a few built-in commands. Some common built-in commands are:
- echo — prints text to stdout.
- set — sets shell variables
- export — makes shell variables available to command-line programs
- cd — change the current directory.
- pwd — print name of the current directory.
#Commands To find out what commands you have available to you, use the «ls» command on each of the directories in the PATH variable.
##Finding documentation for the Android commands.
Many of the Android commands are based on standard Linux (or bsd) commands. If you’re curious about a command, you can sometimes learn how it works by using the «man» command on a desktop Linux or OSX (Apple Macintosh) computer. The Linux or OSX version of the command may be different in details, but much of the documentation will still apply to the Android version of the command.
Another source of documentation for people without a Linux or OSX machine handy is to use a web browser and use a web search engine to search for the text: «man Linux command-name».
##List of commands
The following is a list of the commands that are present on a Nexus S phone running an Android 2.3.3 «user-debug» build. Many of these commands are not present on a «user» phone. (They are missing from a «user» phone because they are specific to developing or debugging the Android operating system.)
Notice that by default there is no /data/local/bin directory. You can create this directory using the «mkdir» command if you like.
The /sbin directory exists, but you don’t have permission to access it. You need root access. If you have a developer phone, or otherwise have root access to your phone you can see what’s in this directory.
Notice that the shell prompt changes from a ‘$’ to a ‘#’ to indicate that you have root access.
Notice also that neither of the /sbin commands are useful to the shell — the adb and ueventd files are ‘daemon’ programs used to implement the Android Debugger «adb» program that is used by developers.
Vendor/bin is where device vendors can put device-specific executables. These files are from a Nexus S.
This directory does not exist on a Nexus S.
am is the Android Activity Manager. It’s used to start and stop Android activities (e.g. applications) from the command line. Type am by itself to get a list of options.
Command line audio file player.
Used to apply patches to android files.
Command line audio recorder.
Backup manager — type command by itself to get documentation.
Draws the boot animation. You may have to reset your phone to get out of this.
Copy the contents of a file to standard output.
Change the mode of a file (e.g. whether it can be read or written.)
Change the owner of a file.
Compare two files byte-by-byte
The dalvik virtual machine. (Used to run Android applications.)
Prints the current date and time
Convert and copy a file. By default copies standard in to standard out.
Shows how much space is free on different file systems on your device.
Shows the current configuration of network interfaces (IP, MAC address etc)
Shows the current processes using the network interfaces (top, but for networks)
Manage the firewall
Send signals to processes.
Used to set up a file system link.
Prints the Android runtime log.
Make a directory.
A program that sends random events, used to test applications. (Like having a monkey playing with the device.)
Move a file from one directory to another. (Only on the same file system. Use «cat a > b» to copy a file between file systems.
List active processes.
Reboot the device.
Remove a directory.
Starts the Android runtime.
Stops the Android runtime.
Shows which processes are currently using the most CPU time.
Prints how long your device has been running since it was last booted.
Secure copy program. (Used to copy files over the network.)
Used to administer SQLite databases.
System trace command — use to see what system calls a program makes.
Start a shell with root privileges.
#Versions of the Android Shell
- Android 1.0 used a shell that had no tab completion or history editing.
- Android 2.3 added history editing. You can for example use the up/down arrows to edit previous commands.
Busybox is a program that contains a shell and a set of command line utilities. Search Android Market for «Busybox» and you should find some versions you can install. The Busybox shell includes tab completion and history editing. Some versions of Busybox for Android do not require that you root your phone.
You can install the full Debian shell and utilities. (Debian is a popular desktop Linux distribution.) I don’t know the details, and it may require a «rooted» phone. Try a web search for «Debian Android install».
Some custom ROMs come with their own shells and utilities. If you are using a custom ROM, check its documentation to find out what’s available.
Источник