Linux’s file system has quite a few differences from the Windows file system. You won’t find any drive letters or backslashes, but you will find an alien-looking layout where files can have the same name, differing only in capitalization.
This isn’t an exhaustive list. It is intended for new Linux users who aren’t aware of all the differences between Linux and Windows. There are many more differences that apply.
You won’t find any Windows, Program Files, or Users folders if you start browsing around the file system on your Linux computer. (Although the /home/ directory is very similar to the Users folder.)
The Linux directory structure doesn’t just use different names for folders, it uses an entirely different layout. For example, on Windows, an application might store all its files in C:\Program Files\Application. On Linux, its files would be split between multiple locations – its binaries in /usr/bin, its libraries in /usr/lib, and its configuration files in /etc/.
We have explained what each directory on the Linux file system is and what it’s for. For the details, read: HTG Explains: The Linux Directory Structure Explained
On Windows, you can’t have a file named file and another file named FILE in the same folder. The Windows file system isn’t case sensitive, so it treats these names as the same file.
On Linux, the file system is case sensitive. This means that you could have files named file, File, and FILE in the same folder. Each file would have different contents – Linux treats capitalized letters and lower-case letters as different characters.
Backslashes vs. Forward Slashes
Windows uses backslashes, just as DOS did. For example, the path to a user’s directory on Windows is:
On Linux, the path to a user’s home directory is:
You will also notice that URLs in your web browser – even on Windows – use forward slashes. For example, it’s http://www.howtogeek.com/article, not http:\\www.howtogeek.com\article.
No Drive Letters – It’s All Under /
Windows exposes partitions and devices at drive letters. Whether you have multiple hard drives, multiple partitions on the same hard drive, or removable devices connected, each file system is available under its own drive letter.
Linux doesn’t have drive letters. Instead, it makes other file systems accessible at arbitrary directories. (Windows can do this too, but this isn’t how it works out of the box.)
On Linux, everything is under / – the root directory. There are no files above the root directory, as there are files outside of C: on Windows. When you connect a device to your computer, it will become available under /media/. The contents of the directory display the contents of the mounted partition.
If you have multiple hard drives or hard drive partitions, you could mount them anywhere you like on your file system. For example, you could place your home directories on a separate partition by mounting another partition at /home. However, you could mount a partition anywhere you like – you could even mount it at /myBackupDrive.
Everything is a File
Just as every mounted file system is a directory under / (the root directory), everything on Linux is a file. For example, your first hard drive is represented by /dev/sda, your CD drive is available at /dev/cdrom, while your mouse is represented by /dev/mouse.
This phrase is actually a bit of an oversimplification – everything isn’t really a file on Linux. But understanding what this phrase means will help you understand how Linux works. To learn more, read: HTG Explains: What “Everything Is a File” Means on Linux
You Can Delete or Modify Open Files
On Linux and other UNIX-like operating systems, applications don’t lock exclusive access to files as often as they do on Windows. For example, let’s say you’re watching a video file in VLC on Windows. The credits are playing and you’re done watching it, so you try to delete it. You’ll see an error message- – you need to stop watching the file in VLC before you can delete it, rename it, or do anything else to it.
On Linux, you could generally delete or modify the video file as it was playing. You won’t see error messages saying the file is in use.
These differences should apply to other UNIX-like operating systems, too. There may be some differences, however – for example, Mac OS X isn’t case-sensitive. It’s case-insensitive, just like Windows.
Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Google+.
- Published 02/13/13