Команда pm list packages выводит полный список установленных приложений прямо из терминала Android — и это один из самых быстрых способов проверить, что на самом деле стоит на устройстве, включая скрытые системные пакеты. Командная строка на Android существует на двух уровнях: локальный терминал внутри самой системы (приложения-эмуляторы вроде Termux) и удалённый доступ через ADB с компьютера. Оба варианта используют похожий набор команд, но отличаются по правам доступа и сценариям применения.
В этом материале разберём, как установить терминал на Android, какие команды нужны в первую очередь, чем отличается adb shell от локальной сессии и каких действий стоит избегать, чтобы не повредить систему. Инструкции даны в безопасном варианте: сначала диагностика и чтение данных, и только потом — изменяющие операции.
Что такое терминал на Android и зачем он нужен
Android построен на ядре Linux, поэтому внутри системы работает полноценная командная оболочка — shell. Терминал — это просто интерфейс доступа к этой оболочке: вы вводите текстовую команду, система выполняет её и возвращает результат. Через терминал можно делать то, что недоступно в графическом интерфейсе: просматривать скрытые процессы, управлять пакетами, читать системные журналы, проверять сетевые соединения.
Типичные сценарии, где командная строка незаменима:
- 🔍 Диагностика — просмотр логов через
logcatпри сбоях приложений. - 📦 Управление пакетами — поиск, отключение и удаление предустановленных программ.
- 🌐 Проверка сети —
ping, просмотр IP-адресов и состояния соединений. - 📁 Работа с файлами — копирование, перемещение, изменение прав доступа.
- ⚙️ Автоматизация — скрипты для резервного копирования и рутинных операций.
Стоит понимать ограничение: без root-прав терминал работает в «песочнице» обычного приложения. Многие системные каталоги будут недоступны, а часть команд вернёт ошибку permission denied. Это нормальное поведение, а не неисправность.
Способы открыть терминал на Android
Из коробки в Android нет видимого приложения «Терминал», поэтому доступ к командной строке организуют двумя путями. Первый — установка эмулятора терминала прямо на устройство. Наиболее известный вариант — Termux, который устанавливается из официальных источников (разработчики рекомендуют F-Droid, так как версия в некоторых магазинах может быть устаревшей). После запуска вы сразу получаете приглашение командной строки и можете вводить команды.
Второй способ — подключение с компьютера через ADB (Android Debug Bridge). Для этого на смартфоне включается отладка по USB в разделе «Для разработчиков», а на ПК устанавливаются инструменты платформы (platform-tools). Точные названия пунктов меню и путь к настройкам разработчика зависят от оболочки производителя — сверяйтесь с документацией своей модели.
adb devices
adb shell
Первая команда проверяет, видит ли компьютер устройство. Вторая открывает интерактивную сессию shell на смартфоне — дальше все команды выполняются уже на Android. При первом подключении на экране телефона появится запрос на разрешение отладки, его нужно подтвердить.
Базовые команды терминала Android
Начинать работу стоит с команд, которые только читают информацию и ничего не изменяют. Они безопасны и помогают освоиться с синтаксисом оболочки.
| Команда | Назначение | Пример |
|---|---|---|
ls | Список файлов в каталоге | ls -la |
cd | Переход в каталог | cd /sdcard |
pwd | Показать текущий путь | pwd |
cat | Вывод содержимого файла | cat file.txt |
pm list packages | Список установленных пакетов | pm list packages | grep chrome |
Обратите внимание на конструкцию с вертикальной чертой: pm list packages | grep chrome. Символ | передаёт вывод первой команды на вход второй, а grep фильтрует строки по ключевому слову. Это один из главных приёмов работы в терминале — комбинирование простых команд в цепочки для решения конкретной задачи.
Для навигации по файловой системе полезно знать, что пользовательские данные обычно находятся в /sdcard (внутренняя память, видимая из проводника), а системные разделы смонтированы в корне и без повышенных прав доступны только для чтения частично или недоступны вовсе. Если команда cd в системный каталог завершается ошибкой доступа — это ограничение прав, а не отсутствие каталога.
Команды для диагностики и управления системой
Когда освоены базовые команды, можно переходить к диагностике. Самый востребованный инструмент здесь — logcat, выводящий системный журнал в реальном времени. Он показывает ошибки приложений, сообщения системных служб и отладочную информацию.
logcat -d | grep -i error
Флаг -d выводит текущий буфер журнала и завершает работу, а фильтр оставляет только строки со словом «error». Это удобный способ быстро найти причину сбоя, не листая тысячи строк вручную.
- 🧪
dumpsys battery— состояние аккумулятора: уровень заряда, температура, статус. - 📊
top— список активных процессов с нагрузкой на процессор и память. - 🌍
ping 8.8.8.8— проверка доступности сети по IP-адресу. - 🔎
getprop— системные свойства устройства: модель, версия Android, сборка.
⚠️ Внимание: команды вродеpm uninstallиpm disable-userизменяют состояние системы. Удаление или отключение системного пакета может нарушить работу устройства — например, исчезнут звонки, уведомления или настройки. Перед удалением любого пакета выясните его назначение и убедитесь, что для вашей модели это безопасно.
Если нужно временно отключить предустановленное приложение без удаления, используется команда pm disable-user --user 0 имя.пакета. Она обратима: вернуть пакет можно командой pm enable. Это заметно безопаснее полного удаления, однако и здесь стоит действовать только с пакетами, назначение которых вам известно.
Работа с Termux: пакеты и расширенные возможности
Termux отличается от простых эмуляторов терминала тем, что включает собственный пакетный менеджер и набор Linux-утилит. После установки первым делом обновляют списки пакетов и сами пакеты:
pkg update && pkg upgrade
Дальше можно доустанавливать инструменты: текстовые редакторы (nano), сетевые утилиты, интерпретаторы Python и Node.js, клиент ssh для подключения к серверам. Установка выполняется командой вида pkg install имя_пакета.
☑️ Первые шаги после установки Termux
Отдельный момент — доступ к файлам. По умолчанию Termux видит только своё приватное хранилище. Чтобы работать с общей памятью устройства, выполняется команда termux-setup-storage, после которой нужно подтвердить разрешение в системном диалоге. Без этого шага каталог /sdcard из Termux будет недоступен.
Почему некоторые команды Linux не работают в Termux
Termux использует собственное окружение и префикс каталогов, отличный от классического Linux-дистрибутива. Часть утилит нужно устанавливать отдельно через pkg, а скрипты, жёстко привязанные к путям вроде /bin или /usr/bin стандартной системы, могут требовать адаптации. Это нормальное отличие, а не ошибка установки.
Частые ошибки и их решения
Самая распространённая ошибка новичков — command not found. Она означает, что утилита не установлена в текущем окружении. В Termux это решается установкой соответствующего пакета через pkg install. В стандартном adb shell набор команд ограничен прошивкой, и добавить туда новые утилиты без root-прав обычно нельзя.
Вторая типичная ситуация — permission denied. Здесь возможны два варианта: либо команде не хватает прав на файл или каталог, либо само действие требует повышенных привилегий. Проверьте, куда вы пытаетесь писать: в собственный каталог приложения запись разрешена, в системные разделы — нет. Получение root-доступа ради терминала — отдельная рискованная процедура, которая может нарушить гарантию и работу банковских приложений; без крайней необходимости её лучше не выполнять.
⚠️ Внимание: командаrmудаляет файлы без корзины и без запроса подтверждения. Опечатка в пути при работе с правами суперпользователя способна стереть системные данные и привести к незагружаемому устройству. Перед выполнением удаления дважды проверяйте путь и начинайте с тестового вывода черезlsпо тому же пути.
Если ADB не видит устройство, последовательно проверьте: включена ли отладка по USB, подтверждён ли запрос на доверие компьютеру, исправен ли кабель, установлены ли драйверы на ПК (актуально для Windows). Помогает также перезапуск ADB-сервера командой adb kill-server с последующим повторным adb devices.
Чем adb shell отличается от Termux
ADB shell запускается от имени системного пользователя shell, у которого больше прав, чем у обычного приложения: доступны logcat, часть системных настроек и управление пакетами других приложений. Termux работает в песочнице своего приложения и изолирован сильнее, зато предоставляет пакетный менеджер и привычное Linux-окружение. Для диагностики системы удобнее ADB, для скриптов и утилит — Termux.
FAQ: частые вопросы о терминале Android
Нужны ли root-права для работы с терминалом?
Нет, для большинства базовых задач root не требуется. Просмотр файлов, диагностика, работа с пакетами Termux и многие команды ADB доступны без него. Root нужен лишь для операций с системными разделами и глубокой модификации, и его получение сопряжено с рисками.
Можно ли удалить системное приложение через терминал?
Технически команда pm uninstall --user 0 имя.пакета удаляет пакет для текущего пользователя без root-прав. Однако удаление важных системных компонентов может нарушить работу устройства. Безопаснее сначала отключить пакет через pm disable-user, проверить стабильность системы и только потом решать вопрос об удалении.
Почему в Termux не работает команда sudo?
Механизм sudo предполагает наличие root-доступа в системе. На устройстве без root повысить привилегии из Termux невозможно — это ограничение самой архитектуры Android, а не недостаток приложения.
Безопасно ли вводить команды из интернета?
Только если вы понимаете, что делает каждая команда. Вредоносная инструкция может удалить данные или открыть доступ к устройству. Правило простое: не выполняйте команды, смысл которых вам неясен, особенно содержащие rm, перенаправление в системные файлы или загрузку скриптов из непроверенных источников.
Как выйти из терминала или завершить сессию ADB?
Команда exit закрывает текущую сессию shell. Если вы работали через adb shell, после выхода вы вернётесь в командную строку компьютера. Само приложение Termux закрывается как обычное Android-приложение.