The root directory
/ is a concept that's found on Android as well. It is recreated anew during each boot, and hosts
*.init.rc directives read by Android every time it boots.
/system partition is something special: system binaries live under
/system/xbin, so this is probably what made you compare this partition to
/bin, but there's much more.
/system/priv-app, for example, store the apps preloaded on your device by the OEM, while the
/system/lib are core to Android, because they house
.jar classes and
.so libraries that are shared between apps.
The comparison between
/home is quite accurate but, once again, there are some differences. Here, you can find all sorts of things, from apps you installed yourself to a listing of the access points you connected to, along with their WPA keys in plaintext.
Of particular importance are:
/data/app, which houses the
.apk files of your installed apps;
/data/data, which stores the apps' private data;
/data/misc/wifi, where access point data can be found;
/data/system, which is perhaps the most important of the bunch, as it houses the
packages.xml file, in charge of keeping trace of every app and permission in your device.
Last but not least, we have
/data/media/0, which is the real internal storage of the current user. This is the directory that gets isolated from the others via FUSE, making it akin to the
/home/$username directory on Linux, as you noticed. There are a number of symlinks that point to this restricted directory, the most known being the ill-named
It's worth mentioning that the entirety of the directories I mentioned cannot be accessed without root permissions, aside from
To conclude, I'll spend a few words on the concepts of swap and data transfer.
Swap, as far as I know, is not a concept that belongs to Android; support for it, along with zRAM, can be added via the use of a customized kernel.
File transfer from a computer to an Android device has always been possible, if I remember correctly. Android uses the MTP interface to restrict the directories the computer can access, though, so you'll need the necessary backends. Moreover, only
/sdcard and, optionally, an external SD card can be accessed.