Para usar un comando de shell a través de un programa de terminal, ¿dónde puedo encontrar documentación o ayuda o páginas de manual para los comandos implementados en Android ?
Si bien sería bueno tenerlos en el dispositivo a través de man , PDF o en la web también estaría bien.
Cuando ejecuto "man" desde la terminal, aparece un error y no he encontrado una buena fuente en línea.
Respuestas:
Puede echar un vistazo a http://www.busybox.net/downloads/BusyBox.html para obtener una descripción de busybox y los comandos que proporciona. Y confía en mí, si vas a trabajar en la consola, probablemente quieras usar busybox.
fuente
busybox
, y en su lugar utilizatoolbox
.La mayoría de los comandos de terminal en Android son la versión limitada de los comandos de terminal estándar Linux / Unix / POSIX, proporcionados por el
toolbox
programa. Notablemente ausentetoolbox
es elcp
comando (copia de archivo), debe usarcat file1 > file2
en su lugar. Si pasa mucho tiempo en el shell, es posible que desee instalarbusybox
, que proporciona un conjunto más rico de comandos POSIX estándar.Hay algo sobre Android Shell aquí: http://benno.id.au/blog/2007/11/13/android-under-the-hood
fuente
Como me topé con el mismo problema que usted, comencé a compilar una lista de comandos útiles en el Shell de Android, incluidos ejemplos. Una versión alemana está en mi blog.
fuente
La mayoría de los comandos de shell de Android "estándar" se encuentran en / system / bin / y la mayoría de ellos están vinculados a Toolbox, un conjunto de applets con licencia bsd, similar a busybox, pero sin los "" problemas "de licencia GPL-2 . Toolbox ayuda a Google a eliminar la dependencia del código GPL y está dirigido a tareas de Android de pequeño tamaño y específicas. No fue para uso del usuario final.
No hay manuales incorporados en el stock de Android, y los applets de la caja de herramientas carecen de documentación, de los comandos, de la caja de herramientas y en línea. Son copias muy limitadas de lo que la mayoría de los usuarios considerarían las herramientas de tipo POSIX estándar. Más similar a las BSD-Utils, por lo que los indicadores de BSD Util tienen más probabilidades de funcionar y el comportamiento es más similar a BSD-Utils que Posix. Incluso entonces, los applets de Toolbox carecen de muchas de esas banderas.
Lo más parecido a la documentación es el código fuente. Que, como la mayoría de Android, está disponible en línea. Aquí está la versión de Froyo de la fuente de Toolbox: https://android.googlesource.com/platform/system/core/+/froyo/toolbox
Simplemente encuentre la versión que necesita.
Tenga en cuenta que diferentes fabricantes pueden cambiar el código. La caja de herramientas de Samsung es diferente de la de Motorola. Diablos, Samsung Galaxy S Toolbox difiere de Samsung Sidekick 4g (basado en Galaxy S). Los fabricantes pueden agregar applets para su propio uso o cambiar la configuración predeterminada para fines específicos. el
restart
applet en la caja de herramientas funcionará en el teléfono en que se encendió, pero elrestart
applet busybox no lo hará, a menos que haya sido parcheado específicamente.Time
YDate
también son diferentes. Hay otros también. Por lo tanto, Toolbox no es algo que pueda reemplazar por completo con Busybox o GNU-Utils completo o lo que sea.fuente
En versiones anteriores de Android
En versiones anteriores de Android, los comandos de shell tienden a ser:
Use
type
para decirle dónde está almacenado un comando, yls -l
en el comando para decirle si es un enlace binario real o simbólico. Si es un enlace simbólico a Toolbox, entonces sabrá que el comando es parte de Toolbox.Algunos comandos, como por ejemplo
kill
, están disponibles tanto como shell incorporado (esta es la versión que normalmente se ejecutará) como en/system/bin
(esta versión normalmente nunca se ejecutará).type
le dirá qué versión se ejecutará.En Marshmallow y hasta
Android 6.0 "Marshmallow" y encima de la nave con Toybox , y la mayoría de los comandos de la cáscara más comúnmente utilizados (
cp
,mv
,ls
, etc.) tienden a ser juguetes Toybox. Los juguetes Toybox normalmente incluyen ayuda incorporada; Las páginas oficiales del manual no están incluidas.Aún así, Toybox no incluye todo, por lo que Toybox no proporciona todo. Por ejemplo, incluso en Android 6.0 "Marshmallow",
fsck_msdos
(que solo debe usarse para verificar tarjetas SD de 32 GB o menos) parece estar tomado de FreeBSD o NetBSD.fsck_exfat
(que puede verificar la mayoría de las tarjetas SD de 64 GB o más) se toma de otro lugar. No estoy seguro de dónde.Su caparazón
En las versiones modernas de Android, el shell es el shell
mksh
MirBSD Korn. Si semksh
está ejecutando, para averiguar sumksh
versión, ingrese:fuente
Sugeriría iniciar un dispositivo virtual Android (AVD), conectarse a él con adb y ejecutar el comando de shell de Android en cuestión:
Si alguien conoce la bandera para dar comandos de shell de Android para simplemente imprimir la pantalla de uso, hágamelo saber. Intenté --help, -help, -h, --usage, etc.
Intente ejecutar
ls /system/bin
y vea también http://developer.android.com/guide/developing/tools/adb.html#shellcommandsfuente
El conjunto de comandos de shell utilizado por Android parece ser
toolbox
. La información sobre él parece no estar centralizada (lo que me parece oscuro ), pero uno podría buscar y encontrar información a su alrededor, por ejemplohttp://www.all-things-android.com/content/android-toolbox-command-reference
Para el uso "intensivo" de la línea de comandos, generalmente se recomienda BusyBox como reemplazo de
toolbox
.Créditos / relacionados:
/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
fuente