Merge "Add a README.md about our shell and utilities."
This commit is contained in:
commit
75d195693b
1 changed files with 157 additions and 0 deletions
157
shell_and_utilities/README.md
Normal file
157
shell_and_utilities/README.md
Normal file
|
|
@ -0,0 +1,157 @@
|
||||||
|
Android's shell and utilities
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Since IceCreamSandwich Android has used
|
||||||
|
[mksh](https://www.mirbsd.org/mksh.htm) as its shell. Before then it used
|
||||||
|
[ash](https://en.wikipedia.org/wiki/Almquist_shell) (which actually
|
||||||
|
remained in the tree up to and including KitKat).
|
||||||
|
|
||||||
|
Initially Android had a very limited command-line provided by its
|
||||||
|
own "toolbox" binary. These days almost everything is supplied by
|
||||||
|
[toybox](http://landley.net/toybox/) instead.
|
||||||
|
|
||||||
|
We started moving a few of the more important tools to full
|
||||||
|
BSD implementations in JellyBean before we started in earnest in
|
||||||
|
Lollipop. Lollipop was a major break with the past in many ways (LP64
|
||||||
|
support and the switch to ART both having lots of knock-on effects around
|
||||||
|
the system), so although this was the beginning of the end of toolbox it
|
||||||
|
(a) didn't stand out given all the other systems-level changes and (b)
|
||||||
|
in Marshmallow we changed direction and started the move to toybox.
|
||||||
|
|
||||||
|
The lists below show what tools were provided and where they came from in
|
||||||
|
each release starting with Gingerbread. This doesn't tell the full story,
|
||||||
|
because the toolbox implementations did have bugs fixed and options added
|
||||||
|
over the years. Gingerbread's rm, for example, supported `-r`/`-R` but not
|
||||||
|
`-f`. But this gives you an idea of what was available in any given release,
|
||||||
|
and how usable it was likely to be.
|
||||||
|
|
||||||
|
|
||||||
|
Android 2.3 (Gingerbread)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
BSD: cat dd newfs\_msdos
|
||||||
|
|
||||||
|
toolbox: chmod chown cmp date df dmesg getevent getprop hd id ifconfig
|
||||||
|
iftop insmod ioctl ionice kill ln log ls lsmod lsof mkdir mount mv
|
||||||
|
nandread netstat notify printenv ps reboot renice rm rmdir rmmod route
|
||||||
|
schedtop sendevent setconsole setprop sleep smd start stop sync top
|
||||||
|
umount uptime vmstat watchprops wipe
|
||||||
|
|
||||||
|
|
||||||
|
Android 4.0 (IceCreamSandwich)
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
BSD: cat dd newfs\_msdos
|
||||||
|
|
||||||
|
toolbox: chmod chown cmp date df dmesg getevent getprop hd id ifconfig
|
||||||
|
iftop insmod ioctl ionice kill ln log ls lsmod lsof mkdir mount mv
|
||||||
|
nandread netstat notify printenv ps reboot renice rm rmdir rmmod route
|
||||||
|
schedtop sendevent setconsole setprop sleep smd start stop sync top
|
||||||
|
touch umount uptime vmstat watchprops wipe
|
||||||
|
|
||||||
|
|
||||||
|
Android 4.1-4.3 (JellyBean)
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
BSD: cat cp dd du grep newfs\_msdos
|
||||||
|
|
||||||
|
toolbox: chcon chmod chown clear cmp date df dmesg getenforce getevent
|
||||||
|
getprop getsebool hd id ifconfig iftop insmod ioctl ionice kill ln
|
||||||
|
load\_policy log ls lsmod lsof md5 mkdir mount mv nandread netstat notify
|
||||||
|
printenv ps reboot renice restorecon rm rmdir rmmod route runcon schedtop
|
||||||
|
sendevent setconsole setenforce setprop setsebool sleep smd start stop
|
||||||
|
sync top touch umount uptime vmstat watchprops wipe
|
||||||
|
|
||||||
|
|
||||||
|
Android 4.4 (KitKat)
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
BSD: cat cp dd du grep newfs\_msdos
|
||||||
|
|
||||||
|
toolbox: chcon chmod chown clear cmp date df dmesg getenforce getevent
|
||||||
|
getprop getsebool hd id ifconfig iftop insmod ioctl ionice kill ln
|
||||||
|
load\_policy log ls lsmod lsof md5 mkdir mkswap mount mv nandread netstat
|
||||||
|
notify printenv ps readlink renice restorecon rm rmdir rmmod route runcon
|
||||||
|
schedtop sendevent setconsole setenforce setprop setsebool sleep smd start
|
||||||
|
stop swapoff swapon sync top touch umount uptime vmstat watchprops wipe
|
||||||
|
|
||||||
|
|
||||||
|
Android 5.0 (Lollipop)
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
BSD: cat chown cp dd du grep kill ln mv printenv rm rmdir sleep sync
|
||||||
|
|
||||||
|
toolbox: chcon chmod clear cmp date df dmesg getenforce getevent getprop
|
||||||
|
getsebool hd id ifconfig iftop insmod ioctl ionice load\_policy log ls
|
||||||
|
lsmod lsof md5 mkdir mknod mkswap mount nandread netstat newfs\_msdos
|
||||||
|
nohup notify ps readlink renice restorecon rmmod route runcon schedtop
|
||||||
|
sendevent setenforce setprop setsebool smd start stop swapoff swapon
|
||||||
|
top touch umount uptime vmstat watchprops wipe
|
||||||
|
|
||||||
|
|
||||||
|
Android 6.0 (Marshmallow)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
BSD: dd du grep
|
||||||
|
|
||||||
|
toolbox: df getevent iftop ioctl ionice log ls lsof mount nandread
|
||||||
|
newfs\_msdos ps prlimit renice sendevent start stop top uptime watchprops
|
||||||
|
|
||||||
|
toybox: acpi basename blockdev bzcat cal cat chcon chgrp chmod chown
|
||||||
|
chroot cksum clear comm cmp cp cpio cut date dirname dmesg dos2unix echo
|
||||||
|
env expand expr fallocate false find free getenforce getprop groups
|
||||||
|
head hostname hwclock id ifconfig inotifyd insmod kill load\_policy ln
|
||||||
|
logname losetup lsmod lsusb md5sum mkdir mknod mkswap mktemp modinfo
|
||||||
|
more mountpoint mv netstat nice nl nohup od paste patch pgrep pidof
|
||||||
|
pkill pmap printenv printf pwd readlink realpath restorecon rm rmdir
|
||||||
|
rmmod route runcon sed seq setenforce setprop setsid sha1sum sleep sort
|
||||||
|
split stat strings swapoff swapon sync sysctl tac tail tar taskset tee
|
||||||
|
time timeout touch tr true truncate umount uname uniq unix2dos usleep
|
||||||
|
vmstat wc which whoami xargs yes
|
||||||
|
|
||||||
|
|
||||||
|
Android 7.0 (Nougat)
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
BSD: dd grep
|
||||||
|
|
||||||
|
toolbox: getevent iftop ioctl log nandread newfs\_msdos ps prlimit
|
||||||
|
sendevent start stop top
|
||||||
|
|
||||||
|
toybox: acpi base64 basename blockdev bzcat cal cat chcon chgrp chmod
|
||||||
|
chown chroot cksum clear comm cmp cp cpio cut date df dirname dmesg
|
||||||
|
dos2unix du echo env expand expr fallocate false find flock free
|
||||||
|
getenforce getprop groups head hostname hwclock id ifconfig inotifyd
|
||||||
|
insmod ionice iorenice kill killall load\_policy ln logname losetup ls
|
||||||
|
lsmod lsof lsusb md5sum mkdir mknod mkswap mktemp modinfo more mount
|
||||||
|
mountpoint mv netstat nice nl nohup od paste patch pgrep pidof pkill
|
||||||
|
pmap printenv printf pwd readlink realpath renice restorecon rm rmdir
|
||||||
|
rmmod route runcon sed seq setenforce setprop setsid sha1sum sleep sort
|
||||||
|
split stat strings swapoff swapon sync sysctl tac tail tar taskset tee
|
||||||
|
time timeout touch tr true truncate tty ulimit umount uname uniq unix2dos
|
||||||
|
uptime usleep vmstat wc which whoami xargs xxd yes
|
||||||
|
|
||||||
|
|
||||||
|
Current AOSP
|
||||||
|
------------
|
||||||
|
|
||||||
|
BSD: dd grep
|
||||||
|
|
||||||
|
bzip2: bzcat bzip2 bunzip2
|
||||||
|
|
||||||
|
toolbox: getevent gzip newfs\_msdos gunzip zcat
|
||||||
|
|
||||||
|
toybox: acpi base64 basename blockdev cal cat chcon chgrp chmod chown
|
||||||
|
chroot chrt cksum clear cmp comm cp cpio cut date df diff dirname dmesg
|
||||||
|
dos2unix du echo env expand expr fallocate false file find flock free
|
||||||
|
getenforce getprop groups head hostname hwclock id ifconfig inotifyd
|
||||||
|
insmod ionice iorenice kill killall ln load\_policy log logname losetup
|
||||||
|
ls lsmod lsof lsusb md5sum microcom mkdir mknod mkswap mktemp modinfo
|
||||||
|
modprobe more mount mountpoint mv netstat nice nl nohup od paste patch
|
||||||
|
pgrep pidof pkill pmap printenv printf ps pwd readlink realpath renice
|
||||||
|
restorecon rm rmdir rmmod runcon sed sendevent seq setenforce setprop
|
||||||
|
setsid sha1sum sha224sum sha256sum sha384sum sha512sum sleep sort split
|
||||||
|
start stat stop strings swapoff swapon sync sysctl tac tail tar taskset
|
||||||
|
tee time timeout top touch tr true truncate tty ulimit umount uname uniq
|
||||||
|
unix2dos uptime usleep uudecode uuencode vmstat wc which whoami xargs
|
||||||
|
xxd yes
|
||||||
Loading…
Add table
Reference in a new issue