Какие интересные команды есть для эмулятора терминала?
Ответы (2 )
Эмулятор терминала - приложение для android через которое можно использовать команды для управления системой и внесения в нее изменений. Этот механизм основан на том, что система андроид включает в себя ядро linux.
На компьютере с помощью командной строки и утилит выполняется настройка системы и подключение дополнительных модулей. Андроид унаследовал много похожих возможностей, которые можно применить для различных целей.
То есть имеются бинарные файлы, взаимодействующие непосредственно с «железом». Каждому такому файлу соответствует текстовая команда, которая запускается через эмулятор терминала.
Перед тем как начать работу с командной строкой надо отметить, что наибольший простор в модификациях будет после рутирования андроид устройства.
Кроме этого, следует поставить busybox - бинарный файл, который позволит использовать больше команд, так как встроенных часто недостаточно. Чтобы его установить надо:
После этого можно приступить к установке терминала на андроид и работе с ним. Для этого:
Другие команды могут выполняться долго, при этом высветится белый курсор. Если при написании была допущена ошибка, то появится надпись «/system/bin/sh: kv: not found» и приглашение для ввода. Это сообщение говорит о том, что команда kv не найдена среди имеющихся.
Закрывается терминал нажатием на крестик в верхнем правом углу, дальше появится окно в котором нажимаем «ok».
Команд очень много, чтобы посмотреть их всех нужно написать «busybox» без кавычек. В принципе, описание каждой можно посмотреть в самом терминале, для этого надо ввести команду, о которой хотим узнать и «—help». Появится информация, но на английском. При работе с терминалом надо учесть некоторые особенности:
Вот самые популярные команды терминала android:
Выполнять команды эмулятора терминала, о которых расскажу дальше, надо очень осторожно, так как их применяют для модификации системы и при неправильном использовании можно серьезно навредить устройству:
Особые команды, которые выполняются эмулятором терминала Android:
То есть мы использовали 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 байт.
Данные команды актуальны для всех ОС, построенных на базе Linux(Unix), в том числе и для Android. Чтобы в ОС Android можно было использовать нижеприведенные команды, нужно получить Root права , установить эмулятор терминала и приложение busybox (именно в этом приложении содержатся все нижеприведенные команды). Для того, чтобы вывести список всех поддерживаемых busybox "ом команд, нужно набрать в эмуляторе терминала команду busybox .
В этой статье перечислены команды busybox в системе Android, разбитые на категории. В конце приведены особенности работы с командной строкой и эмуляторами терминалов в Linux. Более подробная информация о командах будет собираться в статье Команды BusyBox в Android.
man
Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q.
Пример: man fstab
apropos
Поиск по описаниям man.
Пример: apropos iso
awk, ed (текстовый редактор), patch, sed, vi (текстовый редактор).
nano и pico - наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.
ps
– выводит на экран информацию о текущих активных процессах.
top
– выводит на экран информацию об активных процессах, а также о системных ресурсах.
kill pid
– убивает процесс, id которого равно указанному значению processed.
killall process
– убивает все активные процессы с именем process.
bg
– выводит на экран перечень остановленных и фоновых задач; продолжает выполнение остановленной задачи в фоне.
fg
– выводит на передний план последние активные задачи.
fg n
– выносит задачу с указанным именем (в данном случае – n) на передний план.
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. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root .
Если вход в систему выполнен под обычным пользователем, то получить права суперпользователя в конкретном экземпляре терминала можно командой su , после ввода которой необходимо ввести пароль суперпользователя. Вернуться к сессии обычного пользователя можно командой exit .
Однако такие дистрибутивы как Ubuntu и Kubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu и Kubuntu выполняется автоматически при установке дистрибутива.
Записанные в файл команды выполняются командой sh имя_файла .
Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.
Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип "молчит, значит работает".
В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.
При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки -- несколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.
Android создан на базе ядра Linux, и для него, как для настоящей unix-подобной операционной системы, есть консоль, а в ней, естественно и команды терминала.
Получить консоль можно следующими способами:
Так же стоит отметить, что терминал по-умолчанию есть во многих кастомных прошивках, таких как CyanogenMod.
Стандартный интерпретатор команд терминала несколько неудобен (до версии Android 4.0) - он не поддерживает автодополнение, вызов предыдущей команды и прочие полезные вещи, имеющиеся у нормального терминала. Решить эту проблему можно установкой busybox и использованием встроенного в него интерпретатора ash.
В Android доступны многие, но не все стандартные программы UNIX . Список тех, которые есть на вашем устройстве вы можете получить выполнив ls -l /system/bin/ /system/xbin
Помимо стандартных команд UNIX в Android присутствуют некоторые дополнительные программы. Среди них есть logcat - средство для просмотра логов приложений, pm - утилита для управления пакетами (package manager), am - утилита для управления окнами (activity manager).
Вот некоторые консольные команды:
С помощью am можно запустить окно произвольного приложения (зная имя его "активити").
Команды ADB
ADB, или Android Debug Bridge - многофункциональная утилита для соединения с эмулятром Android или реальным девайсом. Работает в командной строке. Находится в Android SDK.
Вот основные команды ADB:
Android является полностью открытой и кастомизируемой системой. Всё благодаря тому, что в ней используется ядро Linux - самой популярной Open Source системы. На основе Linux создано большое количество ОС для настольных компьютеров и серверов, а также других электронных устройств, в числе которых можно отметить гаджеты на базе Android.
Некоторые команды выполняются только в консольном режиме
Некоторые операции совершаются при помощи консоли или терминала. Это такая системная утилита без , которая выполняет задания после ручного ввода команды. На Android по умолчанию такая утилита отсутствует, в отличие от настольного Linux или Windows. Благо, что разработчики не едят хлеб даром и ими уже создано множество эмуляторов терминала. Один из них - Android Terminal Emulator. Давайте узнаем о нём подробнее.
Приложение является полноценным эмулятором терминала Linux, поддерживает несколько окон, клавиатурные сокращения, понимает кодировку UTF-8. Оно полностью бесплатное, не имеет встроенной рекламы и всплывающих окон.
О чём стоит помнить, работая с этим эмулятором?
Приложение будет полезно для тех пользователей, которые чётко представляют, для чего им нужен терминал и хотя бы немного знают основные команды.
Программа доступна в Play Market по ссылке https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=ru . Меню доступно на многих языках, в том числе на русском. После запуска программы, в строке уведомлений вы увидите оповещение о том, что запущен терминальный процесс. Перейдите в настройки, которые разделены на логические группы.
Экран. Можно настроить отображение строки состояния, панели действий и выбрать ориентацию экрана.
Текст. Регулируется размер шрифта, цифровая схема и кодировка текста.
Клавиатура. Установите поведение кнопки назад, настройте сочетание клавиш и выберите аналоги некоторых компьютерных кнопок.
Командная оболочка. Можно указать обработчика команд, предоставить , выбрать тип терминала и домашнюю папку, а также некоторые элементы поведения.
В верхней строке программы содержится всплывающий список окон, поэтому можно быстро переключаться между несколькими открытыми. Новое окно запускается нажатием на значок плюса.
adb - Отладчик Android. К мобильным устройствам можно подключать внешние накопители и устройства, эта утилита позволяет управлять ими.
am - Менеджер действий. Можно включить или выключить любое приложение или процесс.
badblocks - проверка карты памяти на наличие битых секторов.
bmgr - резервное копирование Android.
cat - просмотр содержимого файла.
chmod - изменение прав доступа к файлу.
chown - изменение владельца файла.
cmp - сравнение нескольких файлов.
cp - копирование файла.
date - отображение текущей системной даты.
dd - создание образа диска.
dmesg - просмотр лога ядра.
du - просмотр размера файла.
ext4_resize - изменение размера раздела в файловой системе ext4 (требуется root).
fsck_msdos - проверка ошибок на карте памяти.
grep - фильтрация текста.
ifconfig - просмотр сетевых устройств и управление ими (требуется root).
iptables - настройки файервола.
kill - убить процесс по его числовому идентификатору.
log - записать строку в системный лог.
logcut - просмотр системного лога в реальном времени.
ls - просмотр содержимого директории.
lsmod - отображение запущенных модулей ядра.
lsof - отображение открытых файлов.
make_ext4fs - форматирование карты памяти в формат ext4.
md5 - контрольная сумма файла.
mkdir - создание папки в каталоге.
make2fs - форматирование карты памяти в формат ext2.
mount - монтирование диска, образа или папки.
mv - перемещение файла.
netcfg - информация об интернет-соединениях.
notify - слежение за изменениями в файловой системе.
ping - проверка доступности удалённого сервера.
pm - пакетный менеджер Android, можно полностью управлять установленными приложениями.
ps - отображение информации о запущенных процессах.
resize2fs - изменение размера каталога.
rm - удаление файла.
rmdir - удаление папки.
route - управление таблицей маршрутизации.
touch - создание пустого файла.
top - список запущенных процессов.
screenshot - скриншот экрана (требуется root).
shutdown - выключение аппарата.
service - управление сервисами.
Перечисленные команды далеко не все, а лишь основные. Некоторые из них требуют более глубокого изучения.
Android Terminal Emulator - одно из лучших приложений в своём роде. Оно имеет небольшой вес и отличную функциональность. Ещё раз обращаем внимание - если вы не до конца осознаёте, что такое командная консоль Linux и для чего она предназначается, лучше займитесь изучением официальной документации.
Вас устраивает работа этой прекрасной системной утилиты? Какие команды вы используете в своей работе? Будем благодарны за ваши ценные комментарии.
Пользователи, которые используют 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, то есть главный администратор. Числовое значение, отвечающее за его права, находится на первом месте.