A Quick Introduction of Linux Filesystem

This brief tutorial provides a quick introduction of Linux filesystem for new users and students who are not familiar with Linux.

If you’re a student or new user looking for a Linux system to start learning on, the easiest place to start is Ubuntu Linux OS. It’s a great Linux operating system for Linux beginners.

Ubuntu is an open source Linux operating systems that runs on desktops, laptops, server and other devices.

Students and new users will find that Linux isn’t so different than Windows in many ways, especially when it comes to their filesystem layout.

Both Linux and Windows have a hierarchical filesystem layout, meaning there is a single “root” directory, and all other directories branch off the root directory.

Windows directories are designated with letters, such as C: or D: and Linux root directory is designated as /

Linux systems have several directories under its ( / ) directory. Windows on the other hand has few, that because Windows keeps everything under:

  • C:/Program Files
  • C:/Program Files (x86)
  • C:/Users 
  • C:/Windows

Windows keeps applications either in C:/Program Files or the C:/Program Files (x86) directory.

Individual user profiles are kept in the C:/Users directory.

Linux on the other hand keeps its applications mostly under the /usr directory and individual user profiles are kept under /home directory.

Linux /home directory corresponds to Windows C:/Users directory. These are the default user profiles directories where all users content are stored by default on both systems.

When writing a directory path under Linux system, you should always begin it with the root (  / ) directory. similarly, Windows should starts with its root ( C:\ ).

Below is a table of Linux filesystem directories:

Directory Purpose
/usr/bin /bin directory contains the essential user binaries (programs)
/boot /boot directory contains the files needed to boot the system
/dev /dev directory contains a number of special files that represent devices.
/etc Directory containing configuration files.
/home /home directory contains a home folder for each user.
/usr/lib /lib directory contains libraries needed by the essential binaries in the /bin and /sbin folder.
/usr/lib64 Directory containing 64-bit system libraries.
/media /media directory contains subdirectories where and removable devices are automounted.
/mnt /mnt directory is where system administrators mounted temporary file systems while using them.
/opt /opt directory contains subdirectories for optional software packages.
/proc Directory containing system process information.
/root The root user’s home directory.
/run A runtime scratch directory (RAM-based).
/usr/sbin Directory containing system binaries.
/srv Directory containing service data.
/sys Directory containing devices, kernel modules, filesystems, and other kernel component info.
/tmp Directory containing temporary files.
/usr Directory containing user programs.
/var Directory containing variable files, such as logs and temporary files.

As you can see above, Linux has many more directories branching off its root directory.

Windows stores configuration files in many different locations, most of them reside somewhere under the C:\Windows directory and many other sub-directories like C:\Windows\system, C:\Windows\system32 and others.

Linux uses the /etc/ directory to keep configurations settings and others

Below is image of both Windows and Linux filesystem layout

Linux (Ubuntu )

Liinux filesystem on Ubuntu

Windows 10 Filesystem

Windows 10 filesystem

That’s it!

There are more to this topic, but our goal here was just to provide an introduction to both filesystems and how their directories are layout.