Gdzie mogę znaleźć dokumentację dla poleceń powłoki? [Zamknięte]

18

Gdzie mogę znaleźć dokumentację, strony pomocy lub strony podręcznika dla poleceń zaimplementowanych w Androidzie w przypadku korzystania z poleceń powłoki za pośrednictwem programu terminalowego ?

Fajnie byłoby mieć je na urządzeniu przez człowieka , plik PDF lub przeglądarkę internetową.

Kiedy uruchamiam „man” z terminala, pojawia się błąd i nie znalazłem dobrego źródła online.

BrianCooksey
źródło
stackoverflow.com/questions/13619993/…
Ciro Santilli 30 改造 中心 法轮功 六四 事件
@CiroSantilli 华 涌 低端 人口 六四 事件 法轮功 - Podany link jest pytaniem bardziej na liście dostępnych poleceń niż na ich stronach man. A odpowiedzi są raczej słabe.
sancho.s Przywróć Monikę
Stare powiązane pytanie ... stackoverflow.com/questions/3647014/…
sancho.s Przywróć Monikę

Odpowiedzi:

8

Możesz zajrzeć na http://www.busybox.net/downloads/BusyBox.html, aby znaleźć opis busyboksa i udostępnione przez niego polecenia. I zaufaj mi, jeśli zamierzasz pracować w konsoli, prawdopodobnie chcesz użyć busybox.

mru
źródło
5
należy zauważyć, że podstawowy Android nie jest dostarczany busybox, a zamiast tego używa toolbox.
Lie Ryan,
4

Większość poleceń terminalowych w Androidzie to ograniczona wersja standardowych poleceń terminalowych Linux / Unix / POSIX, dostarczonych przez toolboxprogram. Szczególnie nieobecne toolboxjest polecenie cp(kopiowanie pliku), którego należy użyć cat file1 > file2. Jeśli spędzasz dużo czasu w powłoce, możesz chcieć zainstalować busybox, co zapewnia bogatszy zestaw standardowych poleceń POSIX.

Trochę o powłoce Androida tutaj: http://benno.id.au/blog/2007/11/13/android-under-the-hood

Lie Ryan
źródło
3

Większość „standardowych” poleceń powłoki Androida znajduje się w / system / bin /, a większość z nich jest dowiązaniem symbolicznym do Toolbox, licencjonowanego zestawu apletów bsd, podobnego do busybox, ale bez „” problemów ”związanych z licencją GPL-2 . Przybornik pomaga Google usunąć potrzebę zależności od kodu GPL i jest ukierunkowany na małe rozmiary i określone zadania na Androida. Nie był przeznaczony do użytku przez użytkownika końcowego.

W magazynie Android nie ma wbudowanych instrukcji, a apletom narzędzi brakuje dokumentacji, poleceń, samego zestawu narzędzi i online. Są to bardzo ograniczone kopie tego, co większość użytkowników uważa za standardowe narzędzia typu POSIX. Bardziej podobny do BSD-Utils, więc flagi BSD Util częściej działają, a zachowanie jest bardziej podobne do BSD-Utils niż Posix. Nawet wtedy apletom Toolbox brakuje wielu z tych flag.

Najbliższą dokumentacją jest kod źródłowy. Który, podobnie jak większość Androida, jest dostępny online. Oto wersja źródła Toolbox Froyo: https://android.googlesource.com/platform/system/core/+/froyo/toolbox
Po prostu znajdź potrzebną wersję.

Pamiętaj, że różni producenci mogą zmienić kod. Samsung Toolbox różni się od Motorola. Heck, Samsung Galaxy S Toolbox różni się od Samsung Sidekick 4g (oparty na Galaxy S). Producenci mogą dodawać aplety na własny użytek lub zmieniać ustawienia domyślne w określonych celach. restartaplet w przyborniku będzie działać na telefonie podania dalej, ale BusyBox restartaplet nie będzie, chyba że wyraźnie poprawione. Timei Dateteż są różne. Są też inni. Więc Toolbox nie jest czymś, co można całkowicie zastąpić Busybox, pełnym GNU-Utils czy czymkolwiek.

cde
źródło
3

Na starszych wersjach Androida

W starszych wersjach Androida komendy powłoki to:

  • Przepisany specjalnie na Androida i dostarczany jako część Toolbox. Nie jestem pewien, czy Toolbox jest gdziekolwiek naprawdę udokumentowany.
  • Lub skopiowane z NetBSD. Jeśli tak, to polecenie zostało ponownie skompilowane dla Androida, a polecenie (ale nie jego strona instrukcji) jest dostarczane z Androidem.

Użyj, typeaby powiedzieć ci, gdzie jest przechowywane polecenie, a ls -lna poleceniu, aby powiedzieć, czy jest to rzeczywiste łącze binarne czy symboliczne. Jeśli jest to dowiązanie symboliczne do Przybornika, będziesz wiedział, że polecenie jest częścią Przybornika.

Kilka poleceń, takich jak kill, jest dostępnych zarówno jako wbudowana powłoka (jest to wersja, która normalnie będzie działać), jak i w /system/bin(ta wersja zwykle nigdy nie zostanie uruchomiona). typepowie Ci, która wersja będzie działać.

Na Marshmallow i wyżej

Android 6.0 „marshmallow” i do statku z Toybox oraz większość powszechnie stosowanych poleceń powłoki ( cp, mv, ls, i podobne), mają tendencję do zabawki toybox. Zabawki Toybox zwykle zawierają wbudowaną pomoc; oficjalne strony podręcznika nie są uwzględnione.

Jednak Toybox nie obejmuje wszystkiego, więc nie wszystko zapewnia Toybox. Na przykład nawet w Androidzie 6.0 „Marshmallow” fsck_msdos(który powinien być używany tylko do sprawdzania kart SD o pojemności 32 GB lub mniejszej) wydaje się być pobierany z FreeBSD lub NetBSD. fsck_exfat(który może sprawdzić większość kart SD o pojemności 64 GB lub większej) pochodzi z innego miejsca. Nie jestem pewien gdzie.

Twoja muszla

W nowoczesnych wersjach Androida powłoką jest powłoka mkshMirBSD Korn. Jeśli mkshjest uruchomiony, to aby znaleźć swoją mkshwersję, wpisz:

echo $KSH_VERSION
niezapomniany
źródło
1

Sugeruję uruchomienie urządzenia wirtualnego z systemem Android (AVD), połączenie się z nim za pomocą adb i uruchomienie odpowiedniego polecenia powłoki Androida:

pdurbin@macbook ~$ cd /Applications/eclipse/android-sdk-mac_x86/platform-tools
pdurbin@macbook platform-tools$ ./adb -s emulator-5554 shell
# /system/bin/pm
usage: pm [list|path|install|uninstall]
       pm list packages [-f]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm path PACKAGE
       pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
       pm uninstall [-k] PACKAGE
       pm enable PACKAGE_OR_COMPONENT
       pm disable PACKAGE_OR_COMPONENT
       pm setInstallLocation [0/auto] [1/internal] [2/external]
[snip]

Jeśli ktoś zna flagę, aby wydać polecenia powłoki Androida, aby po prostu wydrukować ekran użytkowania, daj mi znać. Próbowałem --help, -help, -h, --usage itp.

Spróbuj uruchomić ls /system/bini zobacz również http://developer.android.com/guide/developing/tools/adb.html#shellcommands

Philip Durbin
źródło
1

Wygląda na to, że zestaw poleceń powłoki używanych przez Androida toolbox. Informacje na ten temat wydają się nie być scentralizowane (co wydaje mi się niejasne ), ale można wyszukiwać i znajdować informacje wokół, np.

http://www.all-things-android.com/content/android-toolbox-command-reference

W przypadku „intensywnego” korzystania z wiersza polecenia BusyBox jest ogólnie zalecany jako zamiennik toolbox.

Kredyty / Powiązane:

/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

sancho.s Przywróć Monikę
źródło