top of page

Linux File Types

Linux File Types

In Linux, file types are typically identified by their extensions or by examining their content. Unlike some other operating systems, Linux does not rely heavily on file extensions for determining file types. Instead, it uses a combination of file permissions, magic numbers, and file signatures. Here are some common file types and how they are identified in Linux:


Let's deep dive into more detail about the file types and permissions in Linux.

Regular Files:

Permissions (Example): -rw-r--r--

Description: Regular files can be either plain text or binary data. The permission string consists of three parts: owner permissions, group permissions, and others' permissions.


Permissions (Example): drwxr-xr-x

Description: Directories are containers for other files and directories. The "d" at the beginning indicates that it is a directory. The permission string follows the same structure as regular files.

Symbolic Links:

Permissions (Example): lrwxrwxrwx

Description: Symbolic links are shortcuts or references to other files or directories. They don't have actual content but point to the target file or directory.

Device Files (Block and Character):

Block Device Permissions (Example): brw-rw----

Character Device Permissions (Example): crw-rw----

Description: Device files represent hardware devices. Block devices (e.g., hard drives) and character devices (e.g., keyboards) have different permissions.

FIFOs (Named Pipes):

Permissions (Example): prw-r--r--

Description: FIFOs, or named pipes, are used for inter-process communication. They appear as files and allow data to be passed between processes.


Permissions (Example): srwxrwxrwx

Description: Sockets are used for inter-process communication over a network. They allow communication between processes on different machines.

Hidden Files:

Permissions (Example): -rw-r--r--

Description: Hidden files and directories have names starting with a dot (.). They often store configuration settings and are usually hidden from standard directory listings.

Executable Files:

Permissions (Example): -rwxr-xr-x

Description: Executable files contain code that can be run as a program. The "x" in the permission string indicates the executable permission.

Configuration Files:

Permissions (Example): -rw-r--r--

Description: Configuration files store settings for applications and the system. They are often in plain text format and control the behavior of software.

Compressed Files:

Permissions (Example): -rw-r--r--

Description: Compressed files are regular files that have been compressed using tools like gzip, tar, or zip. The permissions are the same as regular files.

System Files:

Permissions (Example): -rw-r--r--

Description: System files are crucial for the proper functioning of the Linux system. They may include important configuration files and libraries.

Temporary Files:

Permissions (Example): -rw-r--r--

Description: Temporary files are created by applications for short-term storage. They are often found in directories like /tmp.

Regular Expression Files:

Permissions (Example): -rw-r--r--

Description: Regular expression files store patterns used by various applications for matching and searching within text data.

bottom of page