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 -l
trê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). type
sẽ 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ỏ mksh
MirBSD Korn. Nếu mksh
đang chạy, sau đó để tìm ra mksh
phiên bản của bạn , hãy nhập:
echo $KSH_VERSION