Moderator, Bürokraten, Checkuser-Berechtigte, developer, emailconfirmed, Oberflächenadministratoren, Oversighter, Administratoren
11.008
Bearbeitungen
Keine Bearbeitungszusammenfassung |
({Custom|Stock}ROMs verlinkt) |
||
(Eine dazwischenliegende Version desselben Benutzers wird 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. | 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 | 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. | 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 | * 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 | 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 === | ||
{{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- | |||
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 "#". | 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 == | ||
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. | |||
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]. | ||
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>: | |||
Da diese Quelle leider nicht mehr verfügbar ist, veröffentlichen wir den Inhalt unverbindlich hier: | |||
<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. | |||
== Einzelnachweise == | == Einzelnachweise == |
Bearbeitungen