Table of Contents
Ubuntu - Filesystem - File Systems
The Linux filesystem is responsible for storing your system data and managing them. A filesystem can be defined as the mechanism behind data storing and retrieval.
The entire Linux installation resolves around the / point. It is called the root of the file system and is essentially the starting point of your system. It contains several directories, most bearing some historical significance.
/bin
It contains the binaries, or executables of the various programs installed in your machine.
In many systems, this doesn’t exist as a real directory but serves as a symlink to the /usr/bin directory.
/boot
All essential files required for the system startup are located here.
You should not experiment with the contents of this directory unless you know what you’re doing. Else, you might corrupt the system itself and disrupt functionality.
/dev
The /dev directory contains the device files of your system.
These are the file representations of your USB drives, hard-disk drives, Webcam, and so on.
/etc
Historically, the /etc directory was used for keeping various miscellaneous files. Today, however, it is a standard convention to store the system-wide configuration files in this directory.
Information like your username/password, network credentials, mount-point of partitions is stored here.
/home
This is the personal directory of the each user.
It can house multiple sub-directories based on the number of users in your machine.
Say you’re user “peter”, then you’ll be allocated the directory /home/peter. When logged in, you’ll be presented with the /home/peter directory inside your terminal.
It is also denoted as :~$ in the Bash shell.
/lib
System libraries are located here.
These are the snippets of code used by your applications to perform some task.
Their example includes code snippets that draw windows or send files.
/media
This directory is the mount-point of plug and play devices such as external storage.
It is a relatively newer addition to the Linux file system.
/mnt
The old and grumpy Unix admins used this directory to mount on-demand devices or partitions manually.
Although used infrequently, it remains in the Linux filesystem due to its historical importance.
/opt
Stands for optional and meant to hold optional system files.
Admins often use it to host third-party applications that they installed from source.
/proc
It hosts the process files, kernel modules, and similar dynamic data.
You should not interfere with this else you may render your system obsolete.
/root
Like /home but for the superuser of the system.
It is the directory you’ll be presented with when you switch to the root account.
/run
This is used for holding temporary data used by Linux system processes.
Don’t mess here unless you know what you’re up for.
/sbin
Like /bin but holds only system essential binaries.
Various everyday used utilities like ls, cd, cp, etc are located here.
Do not manipulate them.
/usr
A ‘use it for all kind’ location where various information is stored.
They can include binaries, libraries, icons, manuals, and so on.
/srv
The server directory.
It contains the source files of web apps and houses other communication protocols.
/sys
Another virtual directory, such as /dev.
It contains sensitive information and shouldn’t be experimented unless the user knows what he’s up to.
/tmp
It is used for holding temporary values that will be deleted during system reboot.
/var
The original purpose of this directory was to host all variable files.
Nowadays, it contains several sub-directories for storing things like logs, caches, and such.
There might be some additional directories in your root. It is usually subject to the specific Linux distribution and can vary across systems.