Zum Inhalt springen

Shell: Unterschied zwischen den Versionen

1.480 Bytes hinzugefügt ,  11. Februar 2015
{Custom|Stock}ROMs verlinkt
(→‎Befehle: ADB Shell class reference mit Quelle kopiert)
({Custom|Stock}ROMs verlinkt)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Die '''Shell''' ist die Verbindungsschnittstelle zwischen dem Benutzer und dem Smartphone. Diese Schnittstelle kann dabei in Form einer [[Kommandozeile]] oder einer [[GUI]] auftreten. Meist wird allerdings die Shell als Kommandozeile bezeichnet. (ebenso in diesem Artikel)
Die '''Shell''' ist die Verbindungsschnittstelle zwischen dem Benutzer und dem Smartphone. Diese Schnittstelle kann dabei in Form einer text-basierten [[Kommandozeile]] (CLI - '''C'''ommand'''L'''ine'''I'''nterface) oder einer grafischen Benutzeroberfläche ([[GUI]] - '''G'''raphical'''U'''ser'''I'''nterface) auftreten. Umgangssprachlich wird die Shell allerdings als Synonym für eine text-basierte Eingabemaske (Kommandozeile) verwendet. Auch im Bereich [[Android]] (sowie in diesem Artikel) wird die Shell oft als solches Synonym verwendet.


== Funktion ==
== Funktion ==
Die Shell ist eine auf  Kommandozeilenebene funktionierende Schnittstelle, die es dem Nutzer ermöglicht, Funktionen auf dem Android auszuführen. Theoretisch lassen sich über die shell alle Funktionen des Androidsmartphones ausführen, wobei es bei vielen durch die fehlende grafische Oberfläche aufwendiger ist als mittels den [[GUI]]'s möglich ist.
Die Shell ist eine auf  Kommandozeilenebene funktionierende Schnittstelle, die es einem Nutzer ermöglicht, mit einem Computersystem, bspw. Android, zu interagieren. Theoretisch lassen sich über die Shell alle Funktionen eines Android-Smartphones ausführen, wobei es bei vielen durch die fehlende grafische Oberfläche aufwendiger als mit der [[GUI]] sein kann. Auszuführende Aktionen, bspw. das Anzeigen eines Ordnerinhaltes, werden hierbei in eine text-basierte Eingabemaske als Befehle eingegeben und von einem Kommandozeileninterpreter ausgeführt.


== Aufruf der Shell ==
== Aufruf der Shell ==
Die Shell ist bei Android allgegenwärtig. Eine Interaktion mit dem Nutzer ist dabei meist nicht direkt, sondern indirekt mittels einer App und einer GUI gewünscht.
Die Shell ist bei Android allgegenwärtig. Der Benutzer interagiert mit ihr dabei meist nicht direkt, sondern indirekt mit einer App oder einer grafischen Oberfläche. Um trotzdem shell-Befehle direkt ausführen zu können, gibt es zwei Möglichkeiten:
Um trotzdem die shell-Befehle ausführen zu können, gibt es zwei Möglichkeiten:
* eine App, die die shell-Befehle ausführt (z.B.: {{PlayStore|jackpal.androidterm|Terminal Emulator}}), ähnlich dem '''cmd''' in Windows
* eine App, die die shell-Befehle ausführt (z.B.: Terminal Emulator), ähnlich dem '''cmd''' in Windows
* mit den [[ADB Sideload|adb]]-Tools
* mit den [[ADB|adb]]-Tools
=== mit einer App ===
=== mit einer App ===
Die einfachere Variante ist es, die shell direkt auf dem Androidsmartphone zu starten. Dazu gibt es diverse Apps, die die eingegebenen Befehle direkt in der Shell ausführt und die Ergebnisse wiedergibt. Die App kann dabei noch einzelne Komfortfunktionen wie das farbige Hervorheben oder das Speichern oft verwendeter Befehle unterstützen.
Die einfachere Variante ist es, die shell direkt auf dem Android-Smartphone zu nutzen. Dazu gibt es diverse Apps, die die eingegebenen Befehle direkt in der Shell ausführt und die Ergebnisse wiedergibt. Die App kann dabei noch einzelne Komfortfunktionen wie das farbige Hervorheben oder das Speichern oft verwendeter Befehle unterstützen. Eine Installation ist i.d.R. über einen [[App Store|App-Store]], bspw. dem [[Google Play Store]] oder auch F-Droid, möglich, sodass sich der Aufwand nicht von dem für die Installation anderer Apps unterscheidet.
 
=== mit den ADB-Tools ===
=== mit den ADB-Tools ===
eine weniger bequeme Variante ist das Aufrufen der Shell mittels den ADB-Tools. Hierfür ist immer noch ein PC von Nöten, an dem das Smartphone angeschlossen ist. Außerdem werden noch die USB-Treiber benötigt. Mehr dazu siehe [[ADB|hier]].
{{Hauptartikel|Android_Debug_Bridge}}Eine andere Variante ist das Aufrufen der Shell mit Hilfe der ADB-Tools. Hierfür ist ein PC von Nöten, an dem das Smartphone mit dem mitgelieferten USB-Kabel angeschlossen werden kann. Außerdem werden noch die [[USB-Treiber]] benötigt.
Um eine neue shell-Session zu initiieren, stellt man zunächst sicher, das ein Android Smartphone erkannt wurde. Danach kann man eine shell-Session mittels folgendem Befehl starten:
 
Um eine neue shell-Sitzung zu starten, stellt man mit dem Befehl ''adb devices'' zunächst sicher, das ein Android Smartphone erkannt wurde. Danach kann die Sitzung mit folgendem Befehl gestartet werden:
<pre>adb shell</pre>
<pre>adb shell</pre>
Danach erscheint in dem cmd-Fenster entweder ein "$"-Zeichen, oder eine "#". Je nachdem, ob die shell [[Root]]-Rechte hat oder nicht. Nun kann man jeden beliebigen shell-Befehl ausführen und bekommt das Ergebnis angezeigt.
Danach erscheint in dem cmd-Fenster entweder ein "$"-Zeichen (für nicht [[Root|gerootete]] Geräte), oder eine "#" (für gerootete Geräte). Alle Befehle werden nun direkt auf dem Smartphone ausgeführt.


== Befehle ==
== Befehle ==
Da die Shell direkt mit dem Kernel in Verbindung steht, und dieser auf Linux basierend ist, funktionieren die meisten Linux-Kommandos, die in den Kernel implementiert sind. Zusätzlich lassen sich auch shell-Sripts erstellen, die, ähnlich wie die Stapelverarbeitungsdateien von Windows (Batch), eine Befehlsreihenfolge ausführen.
Auch die Shell basiert im groben auf der von Linux, sodass die Handhabung ähnlich und in vielen Fällen identisch ist. Trotz allem sind einige Befehle entweder gar nicht, oder nur in beschränkter Weise verfügbar. Grundsätzlich lassen sich alle Programme aus den ''bin''-Verzeichnissen ''/system/bin'' und ''/system/xbin'' ausführen (hier werden bspw. auch neue ausführbare Programme, wie der su-Binary, installiert). Zusätzlich lassen sich auch shell-Sripts erstellen, die, ähnlich wie die Stapelverarbeitungsdateien von Windows (Batch), eine Befehlsreihenfolge ausführen und eine gewisse Logik (bspw. if/else) erlauben.
Bekannte und häufig verwendete Befehle sind:
 
Häufig verwendete Befehle sind zum Beispiel:
{| class="wikitable"
{| class="wikitable"
|-
|-
Zeile 32: Zeile 34:
| mkdir || Erstellt ein neues Verzeichnis
| mkdir || Erstellt ein neues Verzeichnis
|}
|}
Diese Befehle sind lediglich zum Verwalten von Dateien. Eine Referenz für vorhandene Kommandos gab es bislang hier:
Diese Befehle sind lediglich zum Verwalten von Dateien. Eine Referenz für vorhandene Kommandos gab es bislang [http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference hier].
 
http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference


Da diese Quelle leider nicht mehr verfügbar ist, veröffentlichen wir den Inhalt unverbindlich hier:
Da diese Quelle leider nicht mehr verfügbar ist, veröffentlichen wir den Inhalt unverbindlich hier<small><ref>{{Cite web| title = ADB Shell Command Reference| publisher = androidwiki.com | accessdate = 2013-12-05| archivedate = 2012-06-14| url = http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference| archiveurl = http://web.archive.org/web/20120614003917/http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference}}</ref></small>:
<pre>
<pre>
akmd: no response, system hangs up using connectbot v1.7.1, logged in as local
akmd: no response, system hangs up using connectbot v1.7.1, logged in as local
Zeile 286: Zeile 286:
wpa_supplicant
wpa_supplicant
</pre>
</pre>
Die verfügbaren Befehle sind allerdings stark davon abhängig, wie viele von ihnen in die [[ROM]] implementiert wurden. Grundsätzlich kann man sagen, das [[StockROM|StockROMs]] entgegen den [[CustomROM|CustomROMs]] deutlich weniger Funktionen bieten.


Allerdings ist es davon abhängig, wie viele von diesen Befehlen in der Rom implementiert wurden. Grundsätzlich kann man sagen, das die StockRoms entgegen zu den CustomRoms deutlich weniger Funktionen implementiert haben.
== Einzelnachweise ==
<references />


[[Kategorie:Allgemein]]
[[Kategorie:Allgemein]]
11.008

Bearbeitungen

Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.