jackpal / Android-Terminal-Emulator

author
5 minutes, 35 seconds Read

#The Android Shell

Una “shell” è un programma che ascolta l’input della tastiera da un utente ed esegue azioni come diretto dall’utente. I dispositivi Android sono dotati di un semplice programma shell. Questo programma shell è per lo più non documentato. Dato che molte persone sono curiose, ho pensato di scrivere un po’ di documentazione per esso.

Currently this documentation is incomplete, sorry!

##Problemi comuni

La shell integrata ha una gestione degli errori molto limitata. Quando digitate un nome di comando in modo errato, dirà “permesso negato”, anche se il vero problema è che non è riuscito a trovare il comando:

$ dirdir: permission denied <---- this is a misleading error message, should say 'dir: not found'$ ls... listing of current directory

#La variabile PATH

La shell Android eseguirà qualsiasi programma che trova nel suo PATH. Il PATH è una lista di directory separate da due punti (‘:’). Puoi scoprire a cosa è impostato il PATH della tua shell usando il comando integrato echo:

$ echo $PATH/data/local/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin

A seconda della tua shell, potresti vedere un risultato diverso.

#Comandi integrati

Ogni shell ha alcuni comandi integrati. Alcuni comuni comandi integrati sono:

  • echo — stampa del testo su stdout.
  • set — imposta le variabili di shell
  • export — rende le variabili di shell disponibili ai programmi a riga di comando
  • cd — cambia la directory corrente.
  • pwd — stampa il nome della directory corrente.

#ComandiPer scoprire quali comandi hai a disposizione, usa il comando “ls” su ciascuna delle directory nella variabile PATH.

##Ricerca della documentazione per i comandi di Android.

Molti dei comandi di Android sono basati su comandi standard di Linux (o bsd). Se sei curioso su un comando, a volte puoi imparare come funziona usando il comando “man” su un computer desktop Linux o OSX (Apple Macintosh). La versione Linux o OSX del comando può essere diversa nei dettagli, ma gran parte della documentazione sarà ancora applicabile alla versione Android del comando.

Un’altra fonte di documentazione per le persone senza una macchina Linux o OSX a portata di mano è quella di utilizzare un browser web e usare un motore di ricerca web per cercare il testo “man Linux command-name”.

##Lista dei comandi

Quella che segue è una lista dei comandi che sono presenti su un telefono Nexus S con una build di Android 2.3.3 “user-debug”. Molti di questi comandi non sono presenti su un telefono “utente”. (Mancano da un telefono “utente” perché sono specifici per lo sviluppo o il debug del sistema operativo Android.)

$ ls /data/local/bin/data/local/bin: No such file or directory

Nota che per default non c’è una directory /data/local/bin. Puoi creare questa directory usando il comando “mkdir” se vuoi.

$ ls /sbinopendir failed, Permission denied

La directory /sbin esiste, ma non hai il permesso di accedervi. Avete bisogno dell’accesso come root. Se hai un telefono sviluppatore, o comunque hai accesso come root al tuo telefono, puoi vedere cosa c’è in questa directory.

$ su# ls /sbinueventdadbd# exit$ 

Nota che il prompt della shell cambia da ‘$’ a ‘#’ per indicare che hai accesso come root.

Nota anche che nessuno dei comandi /sbin è utile alla shell — i file adb e ueventd sono programmi ‘daemon’ usati per implementare il programma Android Debugger “adb” che è usato dagli sviluppatori.

$ ls /vendor/bingpsdpvrsrvinit

Vendor/bin è dove i fornitori di dispositivi possono mettere gli eseguibili specifici del dispositivo. Questi file sono di un Nexus S.

$ ls /system/sbin/system/sbin: No such file or directory

Questa directory non esiste su un Nexus S.

$ ls /system/binam

am è l’Android Activity Manager. È usato per avviare e fermare le attività di Android (ad esempio le applicazioni) dalla linea di comando. Digita am da solo per ottenere un elenco di opzioni.

amixaplay

Lettore di file audio da linea di comando.

app_processapplypatch

Usato per applicare patch ai file Android.

arec

Registratore audio da linea di comando.

audioloopbluetoothd

Demon BlueTooth

bmgr

Gestore di backup – digita il comando da solo per ottenere la documentazione.

bootanimation

Disegna l’animazione di avvio. Potrebbe essere necessario resettare il telefono per uscirne.

brcm_patchram_plusbugreportcat

Copia il contenuto di un file sullo standard output.

chmod

Cambia la modalità di un file (ad es. se può essere letto o scritto.)

chown

Modificare il proprietario di un file.

cmp

Compara due file byte per byte

dalvikvm

La macchina virtuale dalvik. (Utilizzata per eseguire applicazioni Android.)

date

Stampa la data e l’ora corrente

dbus-daemondd

Converte e copia un file. Per impostazione predefinita copia standard in a standard out.

debuggerddexoptdf

Mostra quanto spazio è libero su diversi file system sul tuo dispositivo.

dhcpcddmesgdnsmasqdumpstatedumpsysdvzfsck_msdosgdbservergeteventgetpropgziphciattachhdidifconfig

Mostra la configurazione corrente delle interfacce di rete (IP, indirizzo MAC, ecc.)

iftop

Mostra i processi correnti che utilizzano le interfacce di rete (in alto, ma per le reti)

imeinputinsmodinstalldioctlioniceiptables

Gestisci il firewall

keystorekeystore_clikill

Invia segnali ai processi.

linkerln

Utilizzato per impostare un collegamento al file system.

loglogcat

Stampa il log di runtime di Android.

logwrapperls

Lista dei file.

lsmodlsofmake_ext4fsmediaservermkdir

Crea una directory.

monkey

Un programma che invia eventi casuali, usato per testare applicazioni. (Come avere una scimmia che gioca con il dispositivo.)

mountmtpdmv

Spostare un file da una directory all’altra. (Solo sullo stesso file system. Usa “cat a > b” per copiare un file tra file system.

nandreadndcnetcfgnetdnetstatnewfs_msdosnotifyomx_testspandpingpmpppdprintenvps

Lista dei processi attivi.

qemu-propsqemudracoonradiooptionsreboot

Riavvia il dispositivo.

recordrenicerildrm

Rimuovi un file.

rmdir

Rimuovi una directory.

rmmodroutertp_testrun-asschedtestschedtopsdcardsdptoolsendeventserviceservicemanagersetconsolesetpropsetup_fsshshowleasesleepsmdstagefrightstart

Avvia il runtime Android.

stop

Arresta il runtime di Android.

surfaceflingersvcsyncsystem_servertctestid3toolboxtop

Mostra quali processi stanno attualmente utilizzando la maggior parte del tempo della CPU.

umountuptime

Stampa di quanto tempo il dispositivo è stato in esecuzione dall’ultimo avvio.

vdcvmstatvoldwatchpropswipewpa_cliwpa_supplicant$ ls /system/xbinadd-property-tagbtoolcheck-lost+founddexdumpdhdutilhcidumplatencytoplibrankopcontroloprofiledprocmemprocrankrawbuscp

Programma di copia sicura. (Utilizzato per copiare i file in rete.)

showmapshowslabsqlite3

Utilizzato per amministrare i database SQLite.

strace

Comando di tracciamento del sistema – si usa per vedere quali chiamate di sistema fa un programma.

su

Avvia una shell con i privilegi di root.

#Versioni della Shell di Android

  • Android 1.0 usava una shell che non aveva il completamento delle schede o la modifica della cronologia.
  • Android 2.3 ha aggiunto la modifica della cronologia. Puoi per esempio usare le frecce su/giù per modificare i comandi precedenti.

#Altre shell

#Busybox

Busybox è un programma che contiene una shell e una serie di utilità a linea di comando. Cerca su Android Market “Busybox” e dovresti trovare alcune versioni che puoi installare. La shell di Busybox include il completamento delle schede e la modifica della cronologia. Alcune versioni di Busybox per Android non richiedono il root del telefono.

#Debian utilities

È possibile installare la shell completa Debian e le utility. (Debian è una popolare distribuzione desktop di Linux.) Non conosco i dettagli, e potrebbe richiedere un telefono “rootato”. Prova a fare una ricerca sul web per “Debian Android install”.

#ROM personalizzate

Alcune ROM personalizzate hanno le loro shell e utility. Se stai usando una ROM personalizzata, controlla la sua documentazione per scoprire cosa è disponibile.

#Se stai usando una ROM personalizzata, controlla la sua documentazione per scoprire cosa è disponibile.

Similar Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.