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.
The /system
partition is something special: system binaries live under /system/bin
and /system/xbin
, so this is probably what made you compare this partition to /bin
, but there's much more.
/system/app
and /system/priv-app
, for example, store the apps preloaded on your device by the OEM, while the /system/framework
and /system/lib
are core to Android, because they house .jar
classes and .so
libraries that are shared between apps.
The comparison between /data
and /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 /sdcard
and /storage/emulated/0
.
It's worth mentioning that the entirety of the directories I mentioned cannot be accessed without root permissions, aside from /sdcard
and /storage/emulated/0
.
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.