File systems vs partitions vs directories

As I wrote in https://superuser.com/a/293160/38062:

The problem here is the word "filesystem". In the POSIX/Unix/Linux worlds, it is used to mean several different things.

  1. The "filesystem" is sometimes the entire system of files, rooted at / and as presented to applications softwares by the operating system kernel. With this meaning, people talk of POSIX operating systems having a "single filesystem tree", for example.
  2. A "filesystem" is sometimes one (or more) slice(s) of a (or several) DASD(s) — one or more collections of contiguous disc sectors formatted as a single volume with a given format — as demarcated by some disc partitioning scheme. With this meaning, people talk of, say, "formatting my /usr filesystem". "/usr" here is the (expected) mountpoint of the volume, or (in some partitioning schemes) its identifying label.
  3. A "filesystem" is sometimes an abstract joinable tree of files and directories, presented by a filesystem driver (i.e. the VFS layer) to the rest of the system. With this meaning, people talk of, say, "mounting the proc filesystem on /proc" or "using a tmpfs filesystem for /tmp".

You're seeing meaning #1 when you see "/usr/bin filesystem". It's a filesystem tree rooted at the directory /usr/bin. Yes, Linux very much does have the concept of directories.

Meaning #2 and meaning #3 are what you're mis-reading it as. People are not talking about /usr/bin as an on-disc data set, demarcated by disc slicing/partitioning. Nor are they talking about /usr/bin as a particular type of filesystem driver, or a particular disc volume format.

Further reading

  • Ramesh Bangia (2010). "file system". Dictionary of Information Technology. Laxmi Publications, Ltd. ISBN 9789380298153. p. 224.
  • File System. "Base Definitions". The Open Group Base Specifications. Issue 7 IEEE 1003.1. The Open Group. 2013.
  • Binh Nguyen (2004-08-16). "filesystem". The Linux Dictionary. Version 0.16. p. 616.

Of course Linux uses concept of directories. The concept of directories is the same as in Windows.

Concept of filesystems is also very similar to what is used in Windows. Windows usually use NTFS or FAT - Linux usually uses ext2, ext3, ext4 and so on, that's all the difference.

What is different, is that in Linux the files/directories from all the available partiotions are organized into a single tree. In Windows you refer to different partitions using a letter, f.e. "a:", "c:", in Linux full path to any available file starts with "/" - the root directory. For example, there is a separate partition on you hdd with files recuired to boot the system: you run 'mount' command with apropriate arguments and contents of this partition becomes available at "/boot/" path. So, f.e. "/boot" and "/home" paths may refer to data on different partitions, these partitions may have different filesystems. Probably caused your misunderstanding.

Directories which are physically located on same partition would always "have same filesystem". When someone talks about the filesystem of some directory, it's actually about the filesystem of the partition where this directory is located.

(Minor and probably not important correction: sometimes the filesystem is virtual and there is no any corresponding partition. For example "/proc" contains something, which looks very much like files, but these "files" are virtual, they do not reside on any hard drive and contain information about running processes. And there is a special "procfs" filesystem which provides usual file-like interface to this data)


A disk is divided into one or more partitions. For Windows, there is usually just one, maybe with a recovery partition hiding somewhere. A partition is a logically contiguous area of the disk, e.g. "sectors 1 through 10,000,000".

On a partition can be built a filesystem. For Windows, this is NTFS or FAT; for Linux this is one of the ext versions or various other options.

Inside a filesystem are files and directories. Linux has directories, I've no idea how you got the idea that it didn't.

How does an operating system present multiple partitions on multiple disks to the user? On Windows, this is done with drive letters: C:, D: etc. On Linux, there are no drive letters and everything is done with mount points: at a particular directory, reroute access to a different filesystem.(+) Often if you insert a CD or USB stick it will appear somewhere under /media or /mnt.

/usr and /usr/bin will usually be on the same filesystem but are not required to be. People may mean "the filesystem that happens to contain the /usr/bin directory" when they use that phrasing.

(+) You can do this with NTFS junction points too, but people rarely do. Until they run out of drive letters.