Sur les anciennes versions d'Android
Sur les anciennes versions d'Android, les commandes shell ont tendance à être soit:
- Réécrit spécifiquement pour Android et livré avec Toolbox. Je ne sais pas si Toolbox est vraiment documenté ou non.
- Ou copié à partir de NetBSD. Si tel est le cas, la commande a été recompilée pour Android et la commande (mais pas sa page de manuel) est livrée avec Android.
Utilisation type pour vous indiquer où une commande est stockée, et ls -lsur la commande pour vous dire s'il s'agit d'un vrai lien binaire ou symbolique. S'il s'agit d'un lien symbolique vers Toolbox, vous saurez que la commande fait partie de Toolbox.
Quelques commandes, telles que kill, sont disponibles à la fois comme un shell intégré (c'est la version qui s'exécutera normalement) et dans/system/bin (cette version ne sera normalement jamais exécutée). typevous dira quelle version sera exécutée.
Sur guimauve et plus
Android 6.0 « Marshmallow » et en bateau avec Toybox , et la plupart des commandes shell les plus couramment utilisés ( cp, mv,ls , etc.) ont tendance à être des jouets Toybox. Les jouets Toybox incluent normalement une aide intégrée; les pages de manuel officielles ne sont pas incluses.
Pourtant, Toybox n'inclut pas tout, et donc tout n'est pas fourni par Toybox. Par exemple, même sur Android 6.0 "Marshmallow", fsck_msdos(qui ne doit être utilisé que pour vérifier les cartes SD de 32 Go ou moins) semble provenir de FreeBSD ou de NetBSD. fsck_exfat(qui peut vérifier la plupart des cartes SD de 64 Go ou plus) provient d'ailleurs. Je ne sais pas où.
Votre coquille
Sur les versions modernes d'Android, le shell est mksh, le shell MirBSD Korn. Si mkshest en cours d'exécution, alors pour connaître votre mkshversion, entrez:
echo $KSH_VERSION