Di mana saya dapat menemukan dokumentasi untuk perintah shell? [Tutup]

18

Untuk menggunakan perintah shell melalui program terminal, di mana saya dapat menemukan dokumentasi atau bantuan atau halaman manual untuk perintah seperti yang diterapkan di Android ?

Meskipun akan lebih baik memilikinya di perangkat melalui man , PDF atau berbasis web juga akan baik-baik saja.

Ketika saya menjalankan "man" dari terminal, saya mendapatkan kesalahan dan saya belum menemukan sumber online yang bagus.

BrianCooksey
sumber
stackoverflow.com/questions/13619993/...
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
@CiroSantilli 华 涌 低端 人口 六四 事件 法轮功 - Tautan yang diberikan adalah pertanyaan lebih banyak pada daftar perintah yang tersedia daripada di halaman manual untuk mereka. Dan jawabannya agak buruk.
sancho.s Reinstate Monica
Sebuah pertanyaan lama yang terkait ... stackoverflow.com/questions/3647014/
sancho.s Reinstate Monica

Jawaban:

8

Anda dapat melihat http://www.busybox.net/downloads/BusyBox.html untuk deskripsi busybox dan perintah yang disediakan olehnya. Dan percayalah, jika Anda akan melakukan pekerjaan di konsol, Anda mungkin ingin menggunakan busybox.

mru
sumber
5
Perlu dicatat bahwa stok Android tidak datang dengan busybox, dan sebagai gantinya digunakan toolbox.
Lie Ryan
4

Sebagian besar perintah terminal di android adalah versi terbatas dari perintah terminal Linux / Unix / POSIX standar, yang disediakan oleh toolboxprogram. Yang terutama absen dari toolboxperintah cp(copy file), Anda harus menggunakannya cat file1 > file2. Jika Anda menghabiskan banyak waktu di shell, Anda mungkin ingin menginstal busybox, yang menyediakan seperangkat perintah POSIX standar yang lebih kaya.

Ada sedikit tentang shell android di sini: http://benno.id.au/blog/2007/11/13/android-under-the-hood

Lie Ryan
sumber
3

Sebagian besar perintah "Android" shell ditemukan di / system / bin / dan sebagian besar di antaranya disinkronkan dengan Toolbox, seperangkat applet berlisensi bsd, mirip dengan busybox, tetapi tanpa "" masalah "lisensi" lisensi GPL-2. . Toolbox membantu Google untuk menghapus ketergantungan pada kode GPL, dan ditargetkan untuk tugas Android ukuran kecil dan spesifik. Itu tidak dimaksudkan untuk penggunaan pengguna akhir.

Tidak ada manual bawaan dalam stok android, dan applet toolbox tidak memiliki dokumentasi, dari perintah, dari toolbox itu sendiri, dan online. Itu adalah salinan yang sangat terbatas dari apa yang sebagian besar pengguna anggap sebagai alat tipe POSIX standar. Lebih mirip dengan BSD-Utils, jadi flag BSD Util lebih cenderung berfungsi dan perilaku lebih mirip dengan BSD-Utils daripada Posix. Meski begitu, applet Toolbox tidak memiliki banyak flag.

Hal yang paling dekat dengan dokumentasi adalah kode sumber. Yang, seperti kebanyakan Android, tersedia online. Inilah versi Froyo dari sumber Toolbox: https://android.googlesource.com/platform/system/core/+/froyo/toolbox
Cukup temukan versi yang Anda butuhkan.

Perlu diingat, berbagai produsen mungkin mengubah kode. Toolbox Samsung berbeda dari Motorola. Heck, Samsung Galaxy S Toolbox berbeda dari Samsung Sidekick 4g (berbasis Galaxy S). Produsen mungkin menambahkan applet untuk penggunaan mereka sendiri, atau mengubah default untuk tujuan tertentu. yang restartapplet di toolbox akan bekerja pada telepon itu datang, tapi busybox restartapplet tidak akan, kecuali secara khusus ditambal. Timedan Datejuga berbeda. Ada juga yang lain. Jadi Toolbox bukanlah sesuatu yang dapat Anda ganti sepenuhnya dengan Busybox atau Utilitas GNU lengkap atau apa pun.

cde
sumber
3

Pada versi Android yang lebih lama

Pada versi Android yang lebih lama, perintah shell cenderung:

  • Ditulis ulang khusus untuk Android, dan dikirim sebagai bagian dari Toolbox. Saya tidak yakin apakah Toolbox benar-benar didokumentasikan di mana saja.
  • Atau disalin dari NetBSD. Jika demikian, maka perintah itu dikompilasi ulang untuk Android, dan perintah (tetapi bukan halaman manualnya) dikirimkan dengan Android.

Gunakan typeuntuk memberi tahu Anda di mana perintah disimpan, dan ls -lpada perintah untuk memberi tahu Anda apakah itu biner nyata atau tautan simbolik. Jika itu adalah tautan simbolis ke Toolbox, maka Anda akan tahu bahwa perintah itu adalah bagian dari Toolbox.

Beberapa perintah, seperti kill, tersedia baik sebagai shell builtin (ini adalah versi yang biasanya berjalan) dan dalam /system/bin(versi ini biasanya tidak akan pernah dijalankan). typeakan memberi tahu Anda versi mana yang akan berjalan.

Di Marshmallow dan ke atas

Android 6.0 "Marshmallow" dan sampai kapal dengan Toybox , dan sebagian besar perintah shell yang paling umum digunakan ( cp, mv, ls, dan sebagainya) cenderung Toybox mainan. Mainan kotak mainan biasanya termasuk bantuan bawaan; halaman manual resmi tidak termasuk.

Tetap saja, Toybox tidak termasuk semuanya, jadi tidak semuanya disediakan oleh Toybox. Misalnya, bahkan pada Android 6.0 "Marshmallow", fsck_msdos(yang seharusnya hanya digunakan untuk memeriksa kartu SD 32 GB atau kurang) tampaknya diambil dari FreeBSD atau NetBSD. fsck_exfat(yang dapat memeriksa sebagian besar kartu SD 64 GB atau lebih besar) diambil dari tempat lain. Saya tidak yakin di mana.

Kulitmu

Pada Android versi modern mksh, shellnya adalah , shell MirBSD Korn. Jika mkshsedang berjalan, maka untuk mengetahui mkshversi Anda , masukkan:

echo $KSH_VERSION
tak terlupakan
sumber
1

Saya menyarankan memulai Perangkat Virtual Android (AVD), menghubungkannya dengan adb, dan menjalankan perintah shell Android yang dimaksud:

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]

Jika ada yang tahu tanda untuk memberi perintah Android shell untuk hanya mencetak layar penggunaan, beri tahu saya. Saya mencoba --help, -help, -h, --usage, dll.

Coba jalankan ls /system/bindan lihat juga http://developer.android.com/guide/developing/tools/adb.html#shellcommands

Philip Durbin
sumber
1

Serangkaian perintah shell yang digunakan oleh Android tampaknya toolbox. Informasi tentang itu tampaknya tidak terpusat (yang tampaknya tidak jelas bagi saya), tetapi orang dapat mencari dan menemukan potongan-potongan informasi di sekitarnya, misalnya

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

Untuk penggunaan baris perintah yang "intensif", BusyBox umumnya direkomendasikan sebagai pengganti toolbox.

Kredit / Terkait:

/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 Reinstate Monica
sumber