Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Linux File System

Introduction

The Linux File System is a crucial component of the Linux operating system. It is responsible for organizing and managing files and directories on storage devices. Understanding how the file system works is essential for effective system administration and usage of Linux. This tutorial will cover the basics of the Linux file system, including its structure, key commands, and examples.

File System Hierarchy

The Linux file system follows a hierarchical structure, which starts from the root directory denoted by a forward slash (/). All other directories and files branch out from this root directory. Here are some key directories:

  • /bin: Essential binary executables
  • /boot: Boot loader files
  • /dev: Device files
  • /etc: Configuration files
  • /home: Home directories for users
  • /lib: Essential shared libraries
  • /mnt: Mount point for temporary filesystems
  • /opt: Optional application software packages
  • /proc: Process and kernel information
  • /root: Home directory for the root user
  • /sbin: System binaries
  • /tmp: Temporary files
  • /usr: User utilities and applications
  • /var: Variable files like logs

Basic File Operations

Here are the basic commands to navigate and manipulate files and directories in the Linux file system:

List Files and Directories:

ls

$ ls
Desktop  Documents  Downloads  Music  Pictures  Videos

Change Directory:

cd <directory>

$ cd Documents

Create a Directory:

mkdir <directory>

$ mkdir new_folder

Create a File:

touch <file>

$ touch new_file.txt

Copy a File:

cp <source> <destination>

$ cp old_file.txt new_file.txt

Move a File:

mv <source> <destination>

$ mv old_file.txt new_folder/

Remove a File:

rm <file>

$ rm new_file.txt

File Permissions

Linux file system has a robust permission model that determines who can read, write, or execute files. File permissions are divided into three categories: Owner, Group, and Others. Each category can have read (r), write (w), and execute (x) permissions.

View File Permissions:

ls -l

$ ls -l
-rw-r--r-- 1 user user  0 Sep 10 12:34 file.txt
drwxr-xr-x 2 user user  0 Sep 10 12:34 folder

Change File Permissions:

chmod <permissions> <file>

$ chmod 755 script.sh

Mounting and Unmounting File Systems

Mounting is the process of making a file system accessible at a certain point in the directory tree. Unmounting removes the file system from the directory tree.

Mount a File System:

mount <device> <mount_point>

$ sudo mount /dev/sdb1 /mnt

Unmount a File System:

umount <mount_point>

$ sudo umount /mnt

File System Types

Linux supports various file system types, each with its own features and use cases. Some common file system types include:

  • ext4: The most widely used file system on Linux, offering a good balance between performance and reliability.
  • btrfs: A modern file system with advanced features like snapshotting and self-healing.
  • xfs: Known for its high performance, especially with large files.
  • vfat: Compatible with Windows FAT file systems, commonly used on USB drives.
  • ntfs: Used by Windows, can be accessed on Linux using the ntfs-3g driver.

Conclusion

The Linux file system is a fundamental aspect of the Linux operating system. Understanding its structure, commands, and permissions is essential for effective system administration and usage. This tutorial has provided an overview of the Linux file system, basic file operations, file permissions, mounting and unmounting file systems, and different file system types. With this knowledge, you can navigate and manage files in a Linux environment with confidence.