Где я могу найти документацию для команд оболочки? [закрыто]

18

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

Хотя было бы неплохо иметь их на устройстве через man , PDF или через Интернет тоже подойдет.

Когда я запускаю "man" из терминала, я получаю сообщение об ошибке, и я не нашел хорошего источника в Интернете.

BrianCooksey
источник
stackoverflow.com/questions/13619993/…
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
@CiroSantilli 华 涌 低端 人口 六四 事件 法轮功 - Предоставленная ссылка является вопросом больше в списке доступных команд, чем на страницах руководства для них. И ответы довольно скудные.
sancho.s Восстановить Монику
Старый связанный вопрос ... stackoverflow.com/questions/3647014/…
sancho.s Восстановите Монику

Ответы:

8

Вы можете взглянуть на http://www.busybox.net/downloads/BusyBox.html для описания busybox и предоставленных им команд. И поверьте мне, если вы собираетесь работать в консоли, вы, вероятно, захотите использовать busybox.

MRU
источник
5
Следует отметить, что стандартный Android не поставляется с busybox, а вместо этого использует toolbox.
Ложь Райану
4

Большинство команд терминала в Android являются ограниченной версией стандартных команд терминала Linux / Unix / POSIX, предоставляемых toolboxпрограммой. В частности отсутствует toolboxкоманда cp(file copy), которую вы должны использовать cat file1 > file2вместо этого. Если вы проводите много времени в оболочке, вам может потребоваться установка busybox, которая предоставляет более богатый набор стандартных команд POSIX.

Здесь немного об андроидной оболочке: http://benno.id.au/blog/2007/11/13/android-under-the-hood

Ли Райан
источник
3

Большинство «стандартных» команд оболочки Android находятся в / system / bin /, и большинство из них являются символическими ссылками на Toolbox, набор лицензированных bsd апплетов, похожих на busybox, но без лицензии 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 или чем-то еще.

CDE
источник
3

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

В старых версиях Android команды оболочки обычно бывают:

  • Переписано специально для Android и поставляется как часть Toolbox. Я не уверен, действительно ли 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
unforgettableid
источник
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

sancho.s Восстановить Монику
источник