Сегодня мы рассмотрим: Настоящие ценители музыки знают, что для качественного...
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
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 - выставление прав доступа
Приложение Эмулятор Терминала для А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 байт.
Это, пожалуй, всё, о чём мы хотели рассказать сегодня. Пишите, оставайтесь на связи, удачи!
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 - выставление прав доступа