Thursday, November 21, 2024

Linux Files

-

Trong hệ thống Linux, mọi thứ đều là tập tin (file) và nếu không phải là tập tin thì là quá trình (process). Một tập tin không chỉ bao gồm các tập tin văn bản, hình ảnh và các chương trình đã biên dịch mà còn bao gồm các phân vùng, các trình điều khiển thiết bị phần cứng và thư mục. Linux coi mọi thứ đều là tập tin.

Các lệnh thường tương tác với file.

  • file Dùng để xác định loại tập tin.
  • touch Được sử dụng để tạo một tập tin mới.
  • rm Xóa một tập tin.
  • cp Sao chép một tập tin.
  • mv Đổi tên hoặc di chuyển một tập tin.
  • rename Đổi tên một tập tin.

What is the Linux File System?

Hệ thống file Linux là cách thức Linux sắp xếp và quản lý các file và thư mục trên đĩa cứng. Nó bao gồm một cây thư mục có cấu trúc được tổ chức hierarchically, bắt đầu từ thư mục gốc “/” và phân cấp ra các thư mục con và các file. Các file và thư mục được xác định bằng một đường dẫn duy nhất trong hệ thống file.

Hệ thống file Linux cung cấp cho người dùng nhiều tính năng hữu ích, bao gồm quản lý quyền truy cập, sao lưu và phục hồi dữ liệu, phân quyền truy cập, mã hóa và nén dữ liệu, và các tính năng khác. Một số định dạng phổ biến cho các phân vùng và hệ thống file Linux bao gồm Ext2, Ext3, Ext4, ReiserFS và XFS.

Linux File System Structure

Cấu trúc hệ thống tập tin Linux là tổ chức phân cấp của các thư mục và file trên hệ thống Linux. Các thư mục và file này được sắp xếp theo cách hiệu quả để quản lý và tổ chức các tài nguyên của hệ thống. Cấu trúc này được đặt tên theo tiêu chuẩn hệ thống tập tin hệ thống cơ bản (Filesystem Hierarchy Standard – FHS) và định nghĩa một số thư mục cơ bản và chức năng của chúng.

Cấu trúc hệ thống tập tin Linux bao gồm các thư mục chính sau:

  • /: Thư mục gốc của hệ thống tập tin, chứa các thư mục và file khác.
  • /bin: Chứa các file lệnh cơ bản cần thiết cho hệ thống và người dùng.
  • /sbin: Chứa các file lệnh cơ bản cần thiết cho quản trị hệ thống.
  • /etc: Chứa các file cấu hình của hệ thống, như các file cấu hình mạng và file cấu hình hệ thống.
  • /var: Chứa các file dữ liệu thay đổi thường xuyên, chẳng hạn như file nhật ký (log) hệ thống, file cơ sở dữ liệu và file ảnh.
  • /tmp: Chứa các file tạm thời được tạo bởi hệ thống và các ứng dụng.
  • /usr: Chứa các file lệnh, thư viện và tài nguyên cho các ứng dụng của hệ thống.
  • /home: Chứa thư mục cá nhân của các người dùng trên hệ thống.
  • /root: Thư mục cá nhân của người quản trị hệ thống.

Các thư mục khác có thể được tạo để lưu trữ các file dữ liệu của ứng dụng cụ thể hoặc để lưu trữ các file cấu hình cho các ứng dụng cụ thể.

Linux File System Features

Các đặc tính của Hệ thống tập tin Linux bao gồm:

  • Đa dạng hóa hệ thống tập tin: Linux hỗ trợ nhiều loại hệ thống tập tin như Ext2, Ext3, Ext4, XFS, JFS, ReiserFS, NTFS, FAT32, v.v. Các hệ thống tập tin này có tính năng và đặc điểm khác nhau, tùy thuộc vào mục đích sử dụng.
  • Hỗ trợ phân quyền: Linux hỗ trợ phân quyền cho các tập tin và thư mục. Mỗi tập tin và thư mục được sở hữu bởi một người dùng và một nhóm. Quyền truy cập được xác định cho chủ sở hữu, nhóm và người dùng khác.
  • Hỗ trợ hard links và symbolic links: Hard links là các liên kết giữa các tập tin trong cùng một hệ thống tập tin và không thể tạo liên kết giữa các tập tin trên các hệ thống tập tin khác nhau. Symbolic links (soft links) là các liên kết tới một tập tin hoặc thư mục trên một hệ thống tập tin khác.
  • Hỗ trợ file system journaling: Các hệ thống tập tin như Ext3 và Ext4 hỗ trợ journaling để giảm thiểu mất dữ liệu khi máy tính bị treo hoặc tắt đột ngột.
  • Hỗ trợ file system encryption: Linux hỗ trợ việc mã hóa các tập tin và thư mục để bảo vệ chúng khỏi việc truy cập trái phép.
  • Hỗ trợ file system compression: Các hệ thống tập tin như Btrfs và ZFS hỗ trợ nén dữ liệu để tiết kiệm không gian đĩa và tăng tốc độ truy cập dữ liệu.
  • Hỗ trợ file system quota: Hệ thống tập tin Linux hỗ trợ việc giới hạn không gian đĩa cho các người dùng và nhóm, để đảm bảo rằng không ai chiếm quá nhiều không gian đĩa.
  • Hỗ trợ mount và unmount các hệ thống tập tin: Linux cho phép người dùng mount và unmount các hệ thống tập tin khác nhau vào thư mục của hệ thống tập tin hiện tại để truy cập và sử dụng các tập tin và thư mục.

Types of Linux File System

  • Hệ thống tập tin Ext, Ext2, Ext3 và Ext4 Hệ thống tập tin Ext (Extended File System) ban đầu được phát triển cho hệ điều hành MINIX. Tuy nhiên, do một số hạn chế, Ext không còn được sử dụng nữa. Ext2 là hệ thống tập tin Linux đầu tiên cho phép quản lý hai terabytes dữ liệu. Ext3 được phát triển từ Ext2 và là một phiên bản nâng cao hơn của nó với tính năng tương thích ngược với Ext2. Tuy nhiên, hệ thống này không hỗ trợ máy chủ do không hỗ trợ phục hồi tập tin và chụp ảnh đĩa. Hệ thống tập tin Ext4 là hệ thống tập tin nhanh nhất trong tất cả các hệ thống tập tin Ext. Nó là một lựa chọn rất tốt cho ổ đĩa SSD và là hệ thống tập tin mặc định trong các bản phân phối Linux.
  • Hệ thống tập tin JFS JFS là viết tắt của Journaled File System, được IBM phát triển cho AIX Unix. Đây là một lựa chọn thay thế cho hệ thống tập tin Ext và có thể sử dụng thay cho Ext4 khi cần tính ổn định với ít tài nguyên. Hệ thống tập tin này rất hữu ích khi công suất CPU bị giới hạn.
  • Hệ thống tập tin ReiserFS ReiserFS là một lựa chọn thay thế cho hệ thống tập tin Ext3 với hiệu suất được cải thiện và tính năng nâng cao. Trước đây, ReiserFS được sử dụng như là hệ thống tập tin mặc định trong SUSE Linux, nhưng sau đó họ đã thay đổi chính sách, do đó SUSE đã quay trở lại sử dụng Ext3. Hệ thống tập tin này hỗ trợ mở rộng tập tin động, nhưng có một số hạn chế về hiệu suất.
  • Hệ thống tập tin XFS Hệ thống tập tin XFS được coi là phiên bản JFS tốc độ cao, được phát triển cho xử lý I/O song song. NASA vẫn sử dụng hệ thống tập tin này với máy chủ lưu trữ lớn (trên 300 Terabyte).
  • Hệ thống file Btrfs Btrfs là viết tắt của B tree file system. Nó được sử dụng cho tính đảm bảo lỗi, sửa chữa hệ thống, quản trị tài nguyên, cấu hình lưu trữ mở rộng và nhiều tính năng khác. Tuy nhiên, nó không phù hợp cho hệ thống sản xuất.
  • Hệ thống file Swap Hệ thống file Swap được sử dụng cho phân trang bộ nhớ trong hệ điều hành Linux trong quá trình ngủ đông của hệ thống. Một hệ thống không bao giờ vào trạng thái ngủ đông cần có không gian trao đổi bằng kích thước bằng dung lượng RAM của nó.

What is Mounting in the Linux Filesystem?

Trong Linux, “mount” là một thuật ngữ của hệ thống tập tin, nó được sử dụng để chỉ việc kết nối một hệ thống tập tin vào một thư mục cụ thể trong hệ thống tập tin của máy tính. Việc mount được sử dụng để truy cập các file và thư mục trong hệ thống tập tin được kết nối. Trong quá khứ, để truy cập một hệ thống tập tin trên đĩa hoặc băng cần phải đưa chúng vào một thiết bị đúng và sau đó hệ điều hành sẽ lắp một hệ thống tập tin logic để truy cập các nội dung.

Một điểm mount là một thư mục được tạo ra như một thành phần của hệ thống tập tin. Ví dụ, hệ thống tập tin home được đặt trên thư mục /home. Các hệ thống tập tin có thể được đặt trên điểm mount trên nhiều hệ thống tập tin không phải root, nhưng điều này ít phổ biến.

Hệ thống tập tin gốc của Linux được mount trên thư mục / (thư mục root) rất sớm trong chuỗi khởi động. Sau đó, một số hệ thống tập tin khác được mount bởi các chương trình khởi động của Linux, thông qua rc trong SystemV hoặc thông qua systemd trong các phiên bản Linux mới hơn.

Việc mount các hệ thống tập tin trong quá trình khởi động được xử lý bởi file cấu hình, tức là /etc/fstab. Cách dễ hiểu đó là fstab là viết tắt của “file system table”, đó là một danh sách các hệ thống tập tin sẽ được mount, các tùy chọn của chúng và các điểm mount được chỉ định có thể được yêu cầu cho các hệ thống tập tin cụ thể.

Các hệ thống tập tin có thể được mount trên điểm mount / thư mục có sẵn bằng lệnh mount. Nói cách khác, bất kỳ thư mục nào được áp dụng làm điểm mount không được có các file khác trong đó và phải trống rỗng. Linux sẽ không ngăn người dùng khỏi việc mount một hệ thống tập tin trên một hệ thống tập tin hoặc thư mục đang có sẵn.

Về mặt kỹ thuật, khi một filesystem được mount trên một thư mục nào đó trong hệ thống tập tin, toàn bộ nội dung của filesystem đó sẽ trở nên truy cập được qua thư mục đó. Khi một hệ thống tập tin khác được mount lên cùng một thư mục đó, nội dung của hệ thống tập tin đó sẽ ghi đè lên nội dung của hệ thống tập tin đã được mount trước đó, gây ra mất mát dữ liệu. Do đó, việc lựa chọn thư mục mount phù hợp rất quan trọng để đảm bảo tính toàn vẹn của dữ liệu trên hệ thống.

Các lệnh mount và unmount được sử dụng để mount và unmount các filesystem. Ngoài ra, hệ thống cũng cung cấp một số tiện ích như autofs để tự động mount các filesystem khi cần thiết và cifs-utils để mount các hệ thống tập tin mạng.

Tóm lại, quá trình mount trong hệ thống tập tin Linux là quá trình kết nối hệ thống tập tin đến một thư mục cụ thể trong hệ thống tập tin để có thể truy cập được nội dung của hệ thống tập tin đó. Việc lựa chọn thư mục mount và quản lý các hệ thống tập tin đã được mount là rất quan trọng để đảm bảo tính toàn vẹn của dữ liệu trên hệ thống.

Previous article
Next article

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories