The File System in Linux

Posted at September 8, 2016 at 6:22 pm by Jithin

What is a file system?

A file system defines the data stored in a computer system. It is used to control the way the data is stored and retrieved. Without the file system, the data cannot be stored effectively and in an arranged manner. The file system is responsible to distinguish various files in the whole data stored on a computer. The starting and ending of different files are recognized with the help of file systems. This is achieved by isolating the information into different parts and identifying these parts by giving them different names. This group of information is called the file. In short, we can define the file system as the structure and logic rules that the groups of information and their names is called.

There are many kinds of file systems. Each file system has its own specifics. They can vary in structure, logic, speed,  and performance. There are file systems that are designed for some specific applications. For example, the file system, ISO 9660 is designed only for optical discs. There are many types of storage media using present hard disk drive, flash memory, magnetic tapes and optical tapes. These devices are different in nature and they have specific features. These devices utilize the various file systems available. In some specific conditions, such as in the case of tmpfs (Temporary File Storage), the computer creates a temporary file system for short term usage.

Another difference is the network. Some file systems are used on local devices and some provide file access via the network. NFS, SMB, or 9P clients are an example of this type of file systems. They provide file access over a network.

 

Virtual File System (VFS)

Some file systems are called Virtual File System (VFS). The VFS is an abstraction layer over a more concrete file system. It means the supplied files are computed on request or they will be the mapping into a different file systems. These files are called, Virtual Files. The ‘procfs’ is an example of VFS. As we have seen that the VFS is abstraction, it allows the client applications to access different types of concrete file systems in a uniform way. This is the purpose of the Virtual File System.

The various operating systems that exist utilize different file systems. In this article, we are going to discuss the file system in Linux.

 

File System in Linux

In Linux, there are files and processes. If something is not a file, it will be a process. Being aware of the Linux file system is critical. Here, a directory is also a file which contains the names of it’s contents. In addition, there are special files. The types of files that exist in Linux are listed below.

1) Regular files

2) Directories

3) Special files

4) Links

5) (Domain) Sockets

6) Named pipes

 

Regular files

The regular files are normal files. They can be text files or executable files or programs. These are under the regular file category.

Directories

The directory is also a file type. This is known as ‘folder’ in Windows. Directories is a file type which contains the list of other files inside it.

Special files

These files are used for the input and the output operations. Most of the special files come under the ‘/dev’ directory.

Links

The link also is a file type. This is a system to make a file or directory visible in other parts of the file tree, despite where it is at the present. There are two types of links that exist which are known as Hard Links and Soft Links.

(Domain) Sockets

The sockets are a special file type. These are similar to the TCP/IP sockets. They provide inter-process networking and it is protected by the file system’s access control.

Named pipes

The Named pipes act like sockets and form a way for processes to communicate with each other without using the network semantics.

These are the various types of Linux based systems. Now let’s see file types in a long list. When we long list a file, the first field indicates the file type. Let us see the indications and the file types below:

Command to long list: ls -l

Symbol                    Meaning

–                                   Regular File

d                                  Directory

l                                   Link

c                                  Special File

s                                   Socket

p                                  Named Pipe

b                                  Block device

 

The Linux file system layout

Commonly used File systems in Linux

Fat16

The ‘Fat16’ is a file system that is supported in the Linux. Its features are follows.

 

Features

Maximum File Size: 2 GiB

Maximum Partition Size: 2 GiB

Journaling: No

 

Fat32 Features

Maximum File Size: 4 GiB

Maximum Partition Size: 8 TiB

Journaling: No

 

NTFS Features

Maximum File Size: 2 TiB

Maximum Partition Size: 256 TiB

Journaling: Yes

 

ext2 Features

Maximum File Size: 2 TiB

Maximum Partition Size: 32 TiB

Journaling: No

 

ext3 Features

Maximum File Size: 2 TiB

Maximum Partition Size: 32 TiB

Journaling: Yes

 

ext4 Features

Maximum File Size: 16 TiB

Maximum Partition Size: 1 EiB

Journaling: Yes

 

reiserFS Features

Maximum File Size: 8 TiB

Maximum Partition Size: 16 TiB

Journaling: Yes

 

JFS Features

Maximum File Size: 4 PiB

Maximum Partition Size: 32 PiB

Journaling: Yes (metadata)

 

XFS Features

Maximum File Size: 8 EiB

Maximum Partition Size: 8 EiB

Journaling: Yes (metadata)

 

For reference:

GiB = Gibibyte (1024 MiB)

TiB = Tebibyte (1024 GiB)

PiB = Pebibyte (1024 TiB)

EiB = Exbibyte (1024 PiB)

 

These are the commonly using File Systems in the Linux systems.

 

If you need any further assistance please reach our support department.

 

 

0.00 avg. rating (0% score) - 0 votes

You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply