18 votes

Où puis-je trouver de la documentation sur les commandes du shell ?

Pour utiliser les commandes de l'interpréteur de commandes à l'aide d'un programme de terminal, où puis-je trouver de la documentation ou des pages d'aide ou de manuel pour les commandes tel que mis en œuvre dans Android ?

Bien qu'il serait agréable de les avoir sur l'appareil via homme Un fichier PDF ou un site web conviendrait également.

Lorsque je lance "man" à partir du terminal, j'obtiens une erreur et je n'ai pas trouvé de bonne source en ligne.

8voto

Brendan Points 7674

Vous pouvez consulter http://www.busybox.net/downloads/BusyBox.html pour une description de busybox et des commandes qu'il fournit. Et croyez-moi, si vous allez travailler dans la console, vous voulez probablement utiliser busybox.

4voto

Thej Points 655

La plupart des commandes de terminal d'Android sont la version limitée des commandes de terminal standard de Linux/Unix/POSIX, fournies par la fonction toolbox programme. Notamment absent du toolboxcp (copie de fichier), vous devez utiliser la commande cat file1 > file2 à la place. Si vous passez beaucoup de temps dans le shell, vous pouvez installer busybox qui fournit un ensemble plus riche de commandes POSIX standard.

Il y a quelques informations sur le shell Android ici : http://benno.id.au/blog/2007/11/13/Android-under-the-hood

3voto

n3rd Points 507

Comme je suis tombé sur le même problème que toi, j'ai commencé à compiler une liste de commandes utiles dans le Shell Android y compris des exemples. A Version allemande est sur mon blog.

3voto

cde Points 713

La majorité des commandes "standard" de l'interpréteur de commandes Android se trouvent dans /system/bin/ et la majorité d'entre elles sont liées par un lien symbolique à Toolbox, un ensemble d'applets sous licence bsd, similaire à busybox, mais sans les "problèmes" de licence GPL-2. Toolbox répond au besoin de Google de ne plus dépendre du code GPL, et est destiné à des tâches Android de petite taille et spécifiques. Il n'a pas été conçu pour être utilisé par les utilisateurs finaux.

Il n'existe pas de manuels intégrés dans le système Android standard, et les applets de la boîte à outils ne disposent d'aucune documentation, que ce soit au niveau des commandes, de la boîte à outils elle-même ou en ligne. Ce sont des copies très limitées de ce que la plupart des utilisateurs considèrent comme des outils standard de type POSIX. Ils ressemblent davantage aux BSD-Utils, de sorte que les drapeaux BSD-Utils ont plus de chances de fonctionner et que le comportement est plus proche de BSD-Utils que de Posix. Même dans ce cas, les applets Toolbox manquent de beaucoup de ces drapeaux.

La chose la plus proche de la documentation est le code source. Qui, comme la plupart d'Android, est disponible en ligne. Voici la version Froyo du code source de la Toolbox : https://Android.googlesource.com/platform/system/core/+/froyo/toolbox
Il suffit de trouver la version dont vous avez besoin.

N'oubliez pas que différents fabricants peuvent modifier le code. La Toolbox de Samsung est différente de celle de Motorola. La Toolbox du Samsung Galaxy S diffère de celle du Samsung Sidekick 4g (basée sur le Galaxy S). Les fabricants peuvent ajouter des applets pour leur propre usage ou modifier le code par défaut à des fins spécifiques. restart L'applet de la boîte à outils fonctionnera sur le téléphone sur lequel il a été installé, mais la busybox restart ne le fera pas, à moins d'un correctif spécifique. Time y Date sont également différentes. Il y en a d'autres aussi. Ainsi, Toolbox n'est pas quelque chose que vous pouvez complètement remplacer par Busybox ou le GNU-Utils complet ou autre.

3voto

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é en tant que partie de Toolbox. Je ne suis pas sûr que Toolbox soit vraiment documenté quelque part.
  • Ou copié de NetBSD. Si c'est le cas, alors la commande a été recompilée pour Android, et la commande (mais pas sa page de manuel) est livrée avec Android.

Utilice type pour vous indiquer où une commande est stockée, et ls -l sur la commande pour vous indiquer s'il s'agit d'un vrai binaire ou d'un lien symbolique. Si c'est un lien symbolique vers Toolbox, alors vous saurez que la commande fait partie de Toolbox.

Quelques commandes, telles que kill sont disponibles à la fois en tant que module intégré à l'interpréteur de commandes (il s'agit de la version qui sera normalement exécutée) et dans le fichier /system/bin (cette version ne sera normalement jamais exécutée). type vous dira quelle version fonctionnera.

Sur Marshmallow et plus

Android 6.0 "Marshmallow" et plus sont livrés avec Boîte à jouets et la plupart des commandes shell les plus utilisées ( cp , mv , ls et cetera) ont tendance à être des jouets Toybox. Les jouets Toybox comprennent normalement une aide intégrée ; les pages de manuel officielles ne sont pas incluses.

Pourtant, Toybox ne comprend pas tout, et donc tout n'est pas fourni par Toybox. Par exemple, même sous Android 6.0 "Marshmallow", fsck_msdos (qui ne devrait être utilisé que pour vérifier les cartes SD de 32 Go ou moins) semble provenir de FreeBSD ou NetBSD. fsck_exfat (qui peut vérifier la plupart des cartes SD de 64 Go ou plus) provient d'ailleurs. Je ne sais pas trop où.

Votre coquille

Sur les versions modernes d'Android, le shell est mksh le shell Korn de MirBSD. Si mksh est en cours d'exécution, puis pour connaître votre mksh version, entrez :

echo $KSH_VERSION

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X