Linux Directory Structure
The Linux directory layout is useful to know when working with the controller's files over
SSH or SFTP. Linux differs from Windows as follows.
| Item | Linux | Windows |
| Root directory | All files and directories sit in one hierarchy under a single root, /. | Each drive (C:\, D:\) has its own root. |
| Path separator | / (e.g. /home/user/file.txt) | \ (e.g. C:\Users\user\file.txt) |
| Drives | Mounted as directories, appearing under /mnt, /media, and similar. | Identified by letters. |
| Directory | Contents |
/ | The top of the file system. Data is normally not stored here directly. |
/bin | Short for binary; holds basic commands and programs. |
/boot | Files needed for booting, such as the kernel. Raspberry Pi OS keeps its config.txt in /boot/firmware. |
/dev | Short for device; holds device files for disks, audio, input devices, serial ports, and other hardware. |
/etc | Configuration files for the system and packages. |
/home | Per-user directories (/home/username), similar to C:\Users\username on Windows. |
/root | The home directory of the administrator (root) account. |
/run | A memory-based temporary file system (tmpfs) for runtime data created after boot, such as PIDs, sockets, and lock files. |
/sbin | Short for system binary; holds executables for system administration. |
/tmp | Temporary files; accessible to all users. |
/usr | Read-only data such as shared executables, libraries, and documentation. |
/var | Short for variable; holds data that keeps changing, such as log files. |