Настоящий терминал (Root или No-Root)


12

Я использую KUBUNTU на своем ноутбуке, но это подходит для любого дистрибутива Linux. Я могу открыть окно терминала и ввести что-то вроде sudo apt-get update: sudo apt-get install packagename.Есть ли терминал, который может выполнять такие команды на Android? Это не должно быть "sudo", я просто имею в виду выполнение команд. Я использую Galaxy S3, но сомневаюсь, что это действительно важно для вопроса, который я задаю.


3
Вы проверяли Play Store? Там немало терминальных эмуляторов .
Eldarerathis

1
Android не имеет менеджера пакетов apt
p1xel

Да, но можно ли сделать что-нибудь полезное с этими эмуляторами без рута? На Ubuntu вы все еще можете.
Майк Вентворт

Да, по крайней мере одно из них поддерживает создание новых приложений на Java с использованием ssh, rsync, vim и т. Д. Из командной строки терминала, даже если у вас нет root.
Дэвид Кэри

Вы можете получить suи другие распространенные команды GNU, рутировав свое устройство и установив Busybox (busybox обычно устанавливается во время рутирования), но вы не можете получить apt, поскольку это менеджер пакетов для дистрибутивов на основе Debian. Android не является дистрибутивом Linux, единственное, что у него есть, это ядро ​​Linux.
Адонис К. Какулидис,

Ответы:


12

Подводя итог из комментариев:

Во-первых, вы должны понимать, что обновление приложений в Android работает иначе, чем в «нормальном» дистрибутиве Linux: «apt» не существует. Хотя у Android есть собственный менеджер пакетов (прислушиваясь к pmкоманде), с установками / обновлениями обычно работают такие службы / приложения, как или другие . pmскорее будет сравним с dpkg в системах на основе Debian: он может выполнять локальную установку (т. е. с .apkфайлом, уже присутствующим на самом устройстве: pm installбудет командой для этого), и много других вещей.

Кроме того: терминальное приложение можно сравнить с терминалом в Linux. Вы получаете «окно» текстового режима, в котором вы можете выполнять команды. Большинство из них даже похоже на те , которые доступны на Linux, так как Android является на основе Linux: у вас есть такие вещи , как cd, ls, grepи многих других. Для получения более подробной информации об этом, вы можете посмотреть, например, на

Заглянуть в наш терминал tag-wiki тоже не повредит :)

Я бы сказал, что все терминальные приложения для Android должны поддерживать вышеуказанное. Некоторые даже предлагают дополнительные функции, такие как целая среда разработки ( Terminal IDE ) или доступ к удаленным серверам ( JuiceSSH ).


Также стоит упомянуть, что установка busybox добавляет все команды «знай и люби»
saloalv

Правильно, @saloalv - с количеством команд в зависимости от версии Busybox :) Не забывайте, что для установки Busybox для всей системы обычно требуется root.
Иззи

если бы можно было установить! для всей системы, это было бы здорово для пользователей без прав root. К сожалению, кажется, что раздел sdcard - это fat32, и как таковой бинарному
файлу

1
@saloalv, это даже не виновник. Но он явно установлен с noexecфлагом (по соображениям безопасности).
Иззи

3

Там является терминал приложение , которое использует «склонный» для установки пакетов. Это потрясающе и имеет много пакетов, портированных для устройств под рукой - Termux & Playstore Link


1

в настоящее время в магазине Google Play есть приложение "termux". поставляется с полной оболочкой unix / linux и с apt. тогда все остальное должно быть прямым. недостаток: он не поддерживает такие элементы, как мой планшет на базе Android 4.4.2.


0

Установите Terminal Emulator и Busybox в свой Android. Terminal Emulator дает окно командной строки и Busybox APK дает полезные команды, которые используются в Linux , как wget, chmod, chrootи многое другое.


Можете ли вы связать приложения?
Повелитель огня

0

При условии, что:

  1. Ваше Android-устройство рутировано;
  2. suДвоичный расположен в /system/xbin/su;
  3. Бинарный файл оболочки находится по адресу /system/bin/sh; и
  4. На вашем Android-устройстве установлен эмулятор терминала .

Если все 4 вышеуказанных условия выполнены, то:

  • Если вы хотите войти в оболочку и стать пользователем root (superuser uid 0), чтобы вы могли выполнять команды без ограничений uid, запустите приложение Terminal Emulator и просто выполните эту команду:

    su -
    

    Чтобы отключиться от uid 0 (выйти из статуса суперпользователя), нажмите Volume -и D, или введите exitи нажмитеEnter

  • В качестве альтернативы, если вы хотите всегда запускать эмулятор терминала как root, затем запустите эмулятор терминала, перейдите в « Настройки» , прокрутите вниз до раздела « SHELL », коснитесь параметра « Командная строка» и измените команду так, чтобы она стала такой:

    /system/xbin/su -c "/system/bin/sh -"
    

    После изменения команды выйдите из Terminal Emulator (закройте приложение) и запустите его снова. Обратите внимание, что интерфейс оболочки Terminal Emulator теперь показывает вас root@somethingпо умолчанию.

Если вы хотите добавить дополнительные команды в свою коренятся Android систему, установить BusyBox .

В случае , если ваше устройство Android не укоренились, вы можете использовать эмулятор терминала для того , чтобы выполнить некоторые базовые (пользователь) команды , такие как blkid, cat, cd, clear, cp, du, grep, id, ln, ls, ping, sleep, uptimeи так далее.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.