jackpal / Android-Terminal-Emulator

author
4 minutes, 48 seconds Read

#Android Shell

The Android Shell

Kuorella tarkoitetaan ohjelmaa, joka kuuntelee käyttäjän näppäimistösyötteitä ja suorittaa käyttäjän ohjeiden mukaisia toimia. Android-laitteiden mukana tulee yksinkertainen shell-ohjelma. Tämä shell-ohjelma on enimmäkseen dokumentoimaton. Koska monet ovat siitä uteliaita, ajattelin kirjoittaa sille dokumentaatiota.

Currently this documentation is incomplete, sorry!

##Yleisiä ongelmia

Sisäänrakennetussa komentotulkkiohjelmassa on hyvin rajallinen virheenkäsittely. Kun kirjoitat komennon nimen väärin, se sanoo ”permission denied”, vaikka todellinen ongelma on se, että se ei löytänyt komentoa:

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

#PATH-muuttuja

Androidin komentotulkki ajaa minkä tahansa ohjelman, jonka se löytää PATH-muuttujasta. PATH on kaksoispisteellä (’:’) erotettu luettelo hakemistoista. Voit selvittää, mikä on komentotulkkisi PATH-asetus, käyttämällä sisäänrakennettua echo-komentoa:

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

Komennostasi riippuen tulos voi olla erilainen.

#Sisäänrakennetut komennot

Jokaiseen komentotulkkiin on sisäänrakennettu muutamia komentoja. Joitakin yleisiä sisäänrakennettuja komentoja ovat:

  • echo — tulostaa tekstiä stdoutiin.
  • set — asettaa komentotulkin muuttujia
  • export — asettaa komentotulkin muuttujat komentorivillä toimivien ohjelmien käyttöön
  • cd — vaihtaa nykyisen hakemiston.
  • pwd — tulostaa nykyisen hakemiston nimen.

#KomennotTietääksesi, mitä komentoja sinulla on käytettävissäsi, käytä komentoa ”ls” jokaiselle PATH-muuttujan sisältämälle hakemistolle.

##Dokumentaation löytäminen Android-komennoille.

Monet Android-komennot perustuvat tavallisiin Linux- (tai bsd-) komentoihin. Jos olet utelias jostakin komennosta, voit joskus oppia, miten se toimii käyttämällä ”man”-komentoa Linux- tai OSX-tietokoneen (Apple Macintosh) pöytäkoneessa. Komennon Linux- tai OSX-versio voi olla yksityiskohdiltaan erilainen, mutta suuri osa dokumentaatiosta pätee silti komennon Android-versioon.

Toinen dokumentaatiolähde niille, joilla ei ole Linux- tai OSX-konetta käden ulottuvilla, on käyttää web-selainta ja etsiä tekstiä web-hakukoneella: ”man Linux command-name”.

##Luettelo komennoista

Seuraavassa on luettelo komennoista, jotka ovat läsnä Nexus S -puhelimessa, jossa on Android 2.3.3 ”user-debug” -rakennus. Monet näistä komennoista eivät esiinny ”user”-puhelimessa. (Ne puuttuvat ”user”-puhelimesta, koska ne ovat erityisiä Android-käyttöjärjestelmän kehittämiseen tai virheenkorjaukseen liittyviä.)

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

Huomaa, että oletusarvoisesti /data/local/bin-hakemistoa ei ole. Voit halutessasi luoda tämän hakemiston komennolla ”mkdir”.

$ ls /sbinopendir failed, Permission denied

Hakemisto /sbin on olemassa, mutta sinulla ei ole oikeuksia käyttää sitä. Tarvitset pääkäyttäjän oikeudet. Jos sinulla on kehittäjäpuhelin tai jos sinulla on muuten pääkäyttäjäoikeudet puhelimeesi, voit nähdä, mitä tässä hakemistossa on.

$ su# ls /sbinueventdadbd# exit$ 

Huomaa, että komentotulkin kehote muuttuu ’$’-merkistä ’#’-merkiksi osoituksena siitä, että sinulla on pääkäyttäjäoikeudet.

Huomaa myös, että kumpikaan /sbin-komennoista ei ole hyödyllinen komentotulkille — adb- ja ueventd-tiedostot ovat ”daemon”-ohjelmia, joita käytetään kehittäjien käyttämän Android Debugger ”adb”-ohjelman toteuttamiseen.

$ ls /vendor/bingpsdpvrsrvinit

Vendor/bin on paikka, johon laitevalmistajat voivat laittaa laitekohtaisia suoritettavia tiedostoja. Nämä tiedostot ovat Nexus S:stä.

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

Tätä hakemistoa ei ole Nexus S:ssä.

$ ls /system/binam

am on Android Activity Manager. Sitä käytetään Android-toimintojen (esim. sovellusten) käynnistämiseen ja pysäyttämiseen komentoriviltä. Kirjoita am itsessään saadaksesi luettelon vaihtoehdoista.

amixaplay

Komentorivin äänitiedostosoitin.

app_processapplypatch

Käytetään korjausten levittämiseen android-tiedostoihin.

arec

Komentorivin ääninauhuri.

audioloopbluetoothd

BlueTooth daemon

bmgr

Backup manager – kirjoita komento itsestään saadaksesi dokumentaation.

bootanimation

Piirrä käynnistysanimaatio. Saatat joutua nollaamaan puhelimen päästäksesi pois tästä.

brcm_patchram_plusbugreportcat

Kopioi tiedoston sisällön vakiotulosteeseen.

chmod

Vaihda tiedoston tilaa (esim. voiko sitä lukea vai kirjoittaa.)

chown

Muuttaa tiedoston omistajaa.

cmp

Vertailla kahta tiedostoa tavu kerrallaan

dalvikvm

Dalvik-virtuaalikone. (Käytetään Android-sovellusten suorittamiseen.)

date

Tulostaa nykyisen päivämäärän ja kellonajan

dbus-daemondd

Muunntaa ja kopioi tiedoston. Kopioi oletusarvoisesti standard in standard out.

debuggerddexoptdf

Näyttää, kuinka paljon tilaa on vapaana laitteen eri tiedostojärjestelmissä.

dhcpcddmesgdnsmasqdumpstatedumpsysdvzfsck_msdosgdbservergeteventgetpropgziphciattachhdidifconfig

Näyttää verkkoliitäntöjen nykyisen kokoonpanon (IP, MAC-osoite jne.)

iftop

Näyttää nykyiset prosessit, jotka käyttävät verkkoliitäntöjä (ylhäältä, mutta verkoille)

imeinputinsmodinstalldioctlioniceiptables

Palomuurin hallinta

keystorekeystore_clikill

Signaalien lähettäminen prosesseille.

linkerln

Käytetään tiedostojärjestelmän linkin asettamiseen.

loglogcat

Tulostaa Androidin ajolokin.

logwrapperls

Luettelee tiedostoja.

lsmodlsofmake_ext4fsmediaservermkdir

Tee hakemiston.

monkey

Ohjelma, joka lähettää satunnaistapahtumia, käytetään sovellusten testaamiseen. (Kuin apina leikkisi laitteella.)

mountmtpdmv

Siirrä tiedosto hakemistosta toiseen. (Vain samassa tiedostojärjestelmässä. Käytä ”cat a > b” kopioidaksesi tiedoston tiedostojärjestelmien välillä.

nandreadndcnetcfgnetdnetstatnewfs_msdosnotifyomx_testspandpingpmpppdprintenvps

Lista aktiivisista prosesseista.

qemu-propsqemudracoonradiooptionsreboot

Käynnistä laite uudelleen.

recordrenicerildrm

Poista tiedosto.

rmdir

Poista hakemisto.

rmmodroutertp_testrun-asschedtestschedtopsdcardsdptoolsendeventserviceservicemanagersetconsolesetpropsetup_fsshshowleasesleepsmdstagefrightstart

Käynnistää Androidin suoritusajan.

stop

Keskeyttää Android-käyttöjärjestelmän.

surfaceflingersvcsyncsystem_servertctestid3toolboxtop

Näyttää, mitkä prosessit käyttävät tällä hetkellä eniten suorittimiaikaa.

umountuptime

Tulostaa, kuinka kauan laite on ollut käynnissä sen viimeisimmän käynnistyksen jälkeen.

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

Turvakopiointiohjelma. (Käytetään tiedostojen kopioimiseen verkon yli.)

showmapshowslabsqlite3

Käytetään SQLite-tietokantojen hallinnointiin.

strace

System trace -komento – käyttää nähdäksesi, mitä järjestelmäpuheluita ohjelma tekee.

su

Käynnistää komentotulkin pääkäyttäjän oikeuksilla.

#Androidin komentotulkin versiot

  • Android 1.0 käytti komentotulkkia, jossa ei ollut välilehtien täydennystä tai historian muokkausta.
  • Android 2.3 lisäsi historian muokkauksen. Voit esimerkiksi käyttää ylös/alas-nuolia edellisten komentojen muokkaamiseen.

#Muut kuoret

#Busybox

Busybox on ohjelma, joka sisältää kuoren ja joukon komentorivin apuohjelmia. Etsi Android Marketista hakusanalla ”Busybox” ja sinun pitäisi löytää joitakin versioita, jotka voit asentaa. Busyboxin komentotulkki sisältää välilehtien täydennyksen ja historian muokkauksen. Jotkin versiot Busyboxista Androidille eivät vaadi puhelimen roottaamista.

#Debianin apuohjelmat

Voit asentaa koko Debianin komentotulkin ja apuohjelmat. (Debian on suosittu työpöytä-Linux-jakelu.) En tiedä yksityiskohtia, ja se saattaa vaatia ”rootatun” puhelimen. Kokeile nettihakua ”Debian Android install”.

#Custom ROMs

Joidenkin custom ROMien mukana tulee omat kuoret ja apuohjelmat. Jos käytät mukautettua ROM:ia, tarkista sen dokumentaatiosta, mitä on saatavilla.

Similar Posts

Vastaa

Sähköpostiosoitettasi ei julkaista.