Де я можу знайти документацію для команд оболонки? [зачинено]


18

Для використання команд оболонки через термінальну програму, де я можу знайти документацію чи довідку чи довідкові сторінки для команд , реалізованих в Android ?

Хоча було б непогано мати їх на пристрої через man , PDF або веб-базі також.

Коли я запускаю "man" з терміналу, я отримую помилку, і я не знайшов хорошого джерела в Інтернеті.



@CiroSantilli 华 涌 低端 人口 六四 事件 法轮功 - Надане посилання - це питання більше в списку доступних команд, ніж на сторінках man для них. І відповіді досить бідні.
sancho.s Відновити Моніку

Старий споріднений питання ... stackoverflow.com/questions/3647014 / ...
sancho.s відновили Моніку

Відповіді:


8

Ви можете подивитися на http://www.busybox.net/downloads/BusyBox.html для опису зайнятої скриньки та команд, наданих нею. І повірте, якщо ви збираєтеся робити роботу в консолі, ви, ймовірно, хочете скористатися зайнятою скринькою.


5
слід зазначити, що Android Android не постачається busybox, а замість цього використовує toolbox.
Лі Лі Раян

4

Більшість команд терміналів в android є обмеженою версією стандартних команд терміналів Linux / Unix / POSIX, що надаються toolboxпрограмою. Помітно відсутня toolboxкоманда cp(копія файлу), яку потрібно використовувати cat file1 > file2замість неї. Якщо ви проводите багато часу в оболонці, можливо, ви захочете встановити busybox, що забезпечує більш багатий набір стандартних команд POSIX.

Ось тут трохи про оболонку Android: http://benno.id.au/blog/2007/11/13/android-under-the-hood



3

Більшість "стандартних" команд оболонок Android знаходяться в / system / bin /, а більшість з них посилаються на Toolbox, набір ліцензійних пакетів bsd, подібний до busbox, але без ліцензування GPL-2 "" питань "" . Панель інструментів допомагає Google усунути залежність від GPL-коду та орієнтована на невеликі розміри та конкретні завдання Android. Він не призначений для використання кінцевим користувачем.

Немає вбудованих посібників на складі Android, а в аплетах із інструментами бракує будь-якої документації - від команд, із самого інструментарію та в Інтернеті. Вони є дуже обмеженими копіями того, що більшість користувачів вважають стандартними засобами типу POSIX. Більш схожий на BSD-Utils, тому прапори BSD Util швидше спрацьовують і поведінка більше схожа на BSD-Utils, ніж на Posix. Вже тоді в програмах Toolbox бракує багатьох із цих прапорів.

Найближче до документації - вихідний код. Який, як і більшість Android, доступний в Інтернеті. Ось версія Froyo джерела Toolbox: https://android.googlesource.com/platform/system/core/+/froyo/toolbox
Просто знайдіть потрібну вам версію.

Майте на увазі, що різні виробники можуть змінити код. Samsung Toolbox відрізняється від Motorola. Чортів, Samsung Galaxy S Toolbox відрізняється від Samsung Sidekick 4g (на базі Galaxy S). Виробники можуть додати аплети для власного використання або змінити типові для конкретних цілей. restartаплет в панелі інструментів буде працювати по телефону він прийшов, але на BusyBox restartаплет не буде, якщо спеціально виправлені. Timeі Dateтакож різні. Є й інші. Отже, Toolbox - це не те, що ви можете повністю замінити Busybox або повним GNU-Utils чи будь-яким іншим.


3

На старих версіях Android

У старих версіях Android команди оболонок, як правило:

  • Переписано спеціально для Android та постачається як частина Toolbox. Я не впевнений, чи справді десь документовано Панель інструментів.
  • Або скопійовано з NetBSD. Якщо так, то команду було перекомпільовано для Android, а команда (але не її сторінка з посібником) постачається з Android.

Використовуйте, typeщоб повідомити вам, де зберігається команда, а ls -lв команді - щоб це було справжнє бінарне чи символічне посилання. Якщо це символічне посилання на Toolbox, то ви знаєте, що команда є частиною Toolbox.

Кілька команд, таких як kill, доступні як в оболонці (це версія, яка зазвичай працює), так і в /system/bin(ця версія зазвичай ніколи не запускається). typeпідкаже, яка версія буде запущена.

На зефір і вгору

Android - 6.0 «Зефір» і до корабля з Toybox , і більшість з найбільш часто використовуваних команд оболонки ( cp, mv, ls, і т.д.) , як правило, Toybox іграшки. Іграшки для іграшок зазвичай включають вбудовану допомогу; офіційні сторінки керівництва не включаються.

Тим не менш, Toybox не включає все, і тому не все забезпечує Toybox. Наприклад, навіть на Android 6.0 "Marshmallow" fsck_msdos(який слід використовувати лише для перевірки SD-карт об’ємом 32 Гб або менше), як видається, виходить із FreeBSD або NetBSD. fsck_exfat(яка може перевірити більшість SD-карт 64 Гб або більше), взятих з інших місць. Я не знаю куди.

Ваша оболонка

У сучасних версіях Android оболонка - оболонка mkshMirBSD Korn. Якщо mkshпрацює, то, щоб дізнатися вашу mkshверсію, введіть:

echo $KSH_VERSION

1

Я б запропонував запустити віртуальний пристрій Android (AVD), з'єднати його з adb та запустити відповідну команду оболонки Android:

pdurbin@macbook ~$ cd /Applications/eclipse/android-sdk-mac_x86/platform-tools
pdurbin@macbook platform-tools$ ./adb -s emulator-5554 shell
# /system/bin/pm
usage: pm [list|path|install|uninstall]
       pm list packages [-f]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm path PACKAGE
       pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
       pm uninstall [-k] PACKAGE
       pm enable PACKAGE_OR_COMPONENT
       pm disable PACKAGE_OR_COMPONENT
       pm setInstallLocation [0/auto] [1/internal] [2/external]
[snip]

Якщо хтось знає прапор, щоб дати командам оболонки Android просто надрукувати екран використання, будь ласка, дайте мені знати. Я спробував --help, -help, -h, --usage тощо.

Спробуйте запустити ls /system/binі побачити також http://developer.android.com/guide/developing/tools/adb.html#shellcommands


1

Здається, набір команд оболонок, які використовує Android toolbox. Інформація про нього, здається, не є централізованою (що мені здається малозрозумілою ), але можна шукати та знаходити фрагменти інформації навколо, наприклад

http://www.all-things-android.com/content/android-toolbox-command-reference

Для "інтенсивного" використання командного рядка BusyBox, як правило, рекомендується замінити toolbox.

Кредити / пов'язані з цим:

/programming/3647014/how-can-i-get-information-from-the-shell-about-commands-available-in-android-she

/programming/41498651/how-to-execute-the-help-linux-command-on-android

https://github.com/jackpal/Android-Terminal-Emulator/wiki/Android-Shell-Command-Reference

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.