Tôi có thể tìm tài liệu cho các lệnh shell ở đâu? [đóng cửa]


18

Để sử dụng lệnh shell thông qua chương trình đầu cuối, tôi có thể tìm tài liệu hoặc trợ giúp hoặc trang man cho các lệnh như được triển khai trong Android ở đâu?

Mặc dù thật tuyệt khi có chúng trên thiết bị thông qua con người , PDF hoặc dựa trên web cũng sẽ ổn.

Khi tôi chạy "man" từ thiết bị đầu cuối, tôi gặp lỗi và tôi không tìm thấy một nguồn tốt trên mạng.



@CiroSantilli 涌 低端 人口 六四 事件 法轮功 - Liên kết được cung cấp là một câu hỏi nhiều hơn trong danh sách các lệnh có sẵn hơn trên các trang man cho chúng. Và câu trả lời khá nghèo nàn.
sancho.s Phục hồi lại

Câu trả lời:


8

Bạn có thể xem http://www.busybox.net/doads/BusyBox.html để biết mô tả về busybox và các lệnh được cung cấp bởi nó. Và hãy tin tôi, nếu bạn định làm việc trong bảng điều khiển, có lẽ bạn muốn sử dụng busybox.


5
cần lưu ý rằng Android không đi kèm busyboxvà thay vào đó sử dụng toolbox.
Lie Ryan

4

Hầu hết các lệnh đầu cuối trong Android là phiên bản giới hạn của các lệnh đầu cuối Linux / Unix / POSIX tiêu chuẩn, được cung cấp bởi toolboxchương trình. Đáng chú ý vắng mặt toolboxlà lệnh cp(sao chép tập tin), bạn phải sử dụng cat file1 > file2thay thế. Nếu bạn dành nhiều thời gian trong trình bao, bạn có thể muốn cài đặt busybox, nó cung cấp một tập hợp các lệnh POSIX tiêu chuẩn phong phú hơn.

Có một số thông tin về Android shell tại đây: http://benno.id.au/blog/2007/11/13/android-under-the-hood



3

Phần lớn các lệnh shell Android "tiêu chuẩn" được tìm thấy trong / system / bin / và phần lớn trong số chúng được liên kết với Toolbox, một bộ applet được cấp phép bsd, tương tự như busybox, nhưng không có "" vấn đề "cấp phép GPL-2 . Hộp công cụ giúp Google cần loại bỏ sự phụ thuộc vào mã GPL và được nhắm mục tiêu đến các tác vụ Android cụ thể và kích thước nhỏ. Nó không có nghĩa là cho người dùng cuối.

Không có hướng dẫn sử dụng dựng sẵn trong stock android và các applet của hộp công cụ thiếu bất kỳ tài liệu nào, từ các lệnh, từ chính hộp công cụ và trực tuyến. Chúng là những bản sao rất hạn chế về những gì hầu hết người dùng sẽ xem xét các công cụ loại POSIX tiêu chuẩn. Tương tự như BSD-Utils hơn, vì vậy các cờ BSD Util có nhiều khả năng hoạt động hơn và hành vi tương tự như BSD-Utils hơn là Posix. Thậm chí sau đó, các applet Toolbox thiếu nhiều cờ đó.

Điều gần nhất với tài liệu là mã nguồn. Mà, giống như hầu hết Android, có sẵn trực tuyến. Đây là phiên bản Froyo của nguồn Hộp công cụ: https://android.googlesource.com/pl platform / system / core / + / froyo / toolbox
Chỉ cần tìm phiên bản bạn cần.

Hãy nhớ rằng, các nhà sản xuất khác nhau có thể thay đổi mã. Hộp công cụ của Samsung khác với của Motorola. Heck, Samsung Galaxy S Toolbox khác với Samsung Sidekick 4g (dựa trên Galaxy S). Các nhà sản xuất có thể thêm các applet để sử dụng riêng hoặc thay đổi mặc định cho các mục đích cụ thể. các restartapplet trong hộp công cụ sẽ làm việc trên điện thoại nó được tung vào nhưng busybox restartApplet sẽ không, trừ khi được vá. TimeDatecũng khác nhau Có những người khác là tốt. Vì vậy, Toolbox không phải là thứ bạn hoàn toàn có thể thay thế bằng Busybox hoặc GNU-Utils đầy đủ hoặc bất cứ thứ gì.


3

Trên các phiên bản Android cũ hơn

Trên các phiên bản Android cũ hơn, các lệnh shell có xu hướng:

  • Viết lại dành riêng cho Android và được vận chuyển như một phần của Hộp công cụ. Tôi không chắc liệu hộp công cụ có thực sự được ghi lại ở bất cứ đâu không.
  • Hoặc sao chép từ NetBSD. Nếu vậy, thì lệnh đã được biên dịch lại cho Android và lệnh (nhưng không phải trang thủ công của nó) được gửi cùng với Android.

Sử dụng typeđể cho bạn biết nơi một lệnh được lưu trữ và ls -ltrên lệnh để cho bạn biết đó là một nhị phân thực hay liên kết tượng trưng. Nếu đó là một liên kết tượng trưng đến Hộp công cụ, thì bạn sẽ biết rằng lệnh là một phần của Hộp công cụ.

Một vài lệnh, chẳng hạn như kill, có sẵn cả dưới dạng shell dựng (đây là phiên bản thường sẽ chạy) và trong /system/bin(phiên bản này thường sẽ không bao giờ được chạy). typesẽ cho bạn biết phiên bản nào sẽ chạy.

Trên Marshmallow trở lên

Android 6.0 "Marshmallow" và lên tàu với Toybox , và hầu hết các lệnh shell thông dụng nhất ( cp, mv, ls, vân vân) có xu hướng Toybox đồ chơi. Đồ chơi Toybox thường bao gồm trợ giúp tích hợp; trang hướng dẫn chính thức không được bao gồm.

Tuy nhiên, Toybox không bao gồm mọi thứ và vì vậy không phải mọi thứ đều được Toybox cung cấp. Ví dụ: ngay cả trên Android 6.0 "Marshmallow", fsck_msdos(chỉ nên được sử dụng để kiểm tra thẻ SD từ 32 GB trở xuống) dường như được lấy từ FreeBSD hoặc NetBSD. fsck_exfat(có thể kiểm tra hầu hết các thẻ SD 64 GB trở lên) được lấy từ nơi khác. Tôi không chắc chắn ở đâu.

Vỏ của bạn

Trên các phiên bản hiện đại của Android, vỏ là vỏ mkshMirBSD Korn. Nếu mkshđang chạy, sau đó để tìm ra mkshphiên bản của bạn , hãy nhập:

echo $KSH_VERSION

1

Tôi sẽ đề nghị bắt đầu một Thiết bị ảo Android (AVD), kết nối với thiết bị này bằng adb và chạy lệnh shell Android trong câu hỏi:

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]

Nếu bất cứ ai biết cờ để ra lệnh Android shell để chỉ in màn hình sử dụng, xin vui lòng cho tôi biết. Tôi đã thử - trợ giúp, -help, -h, --usage, v.v.

Hãy thử chạy ls /system/binvà xem http://developer.android.com/guide/developing/tools/adb.html#shellcommands


1

Tập hợp các lệnh shell được sử dụng bởi Android dường như toolbox. Thông tin trên đó dường như không tập trung (có vẻ mơ hồ đối với tôi), nhưng người ta có thể tìm kiếm và tìm thấy những mẩu thông tin xung quanh, ví dụ

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

Để sử dụng "chuyên sâu" dòng lệnh, BusyBox thường được đề xuất thay thế cho toolbox.

Tín dụng / Liên quan:

/programming/3647014/how-can-i-get-inif-from-the-shell-about-commands-av 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.