На старых версиях 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