NỘI DUNG
Tìm hiểu các loại tệp trong Linux. Trong hệ điều hành Linux, mọi thứ gần như đều được coi là một tệp, nhưng không phải tất cả các tệp đều giống nhau. Linux hỗ trợ nhiều loại tệp khác nhau, mỗi loại có mục đích và đặc điểm riêng. Dưới đây, chúng ta sẽ tìm hiểu về năm loại tệp phổ biến: Regular File, Directory File, Symbolic Link, Hard Link và Socket File. Bài viết sẽ giải thích từng loại, chức năng, cách kiểm tra và cung cấp ví dụ cụ thể.

Tìm hiểu các loại tệp trong Linux
1. Regular File (Tệp thông thường)
Regular File là loại tệp phổ biến nhất trong Linux, chứa dữ liệu người dùng như văn bản, hình ảnh, âm thanh, video hoặc mã nguồn. Đây là các tệp mà người dùng thường xuyên tương tác, chẳng hạn như tài liệu, tệp thực thi, hoặc tệp cấu hình.
Chức năng
- Lưu trữ dữ liệu: Regular File lưu trữ nội dung như văn bản, mã nguồn, hình ảnh, hoặc các chương trình thực thi.
- Thực thi: Các tệp thực thi (executables) như script hoặc chương trình biên dịch (binary) cũng là Regular File.
- Đa dạng định dạng: Bao gồm các định dạng như
.txt
,.jpg
,.mp4
,.sh
,.bin
, v.v.
Cách kiểm tra
Sử dụng lệnh ls -l
để liệt kê các tệp. Regular File được biểu thị bằng dấu -
ở ký tự đầu tiên trong danh sách quyền (permissions). Ví dụ:
-rw-r--r-- 1 user user 1024 Jun 11 2025 robots.txt
Dấu -
đầu tiên cho biết đây là Regular File. Bạn cũng có thể dùng lệnh file để xác định loại tệp:
file robots.txt
Kết quả: document.txt:
ASCII text
Ví dụ:
- Tạo một Regular File:
echo "Hello, Linux!" > robots.txt
- Kiểm tra
ls -l robots.txt
# Kết quả: -rw-r--r-- 1 user user 13 Jun 11 2025 robots.txt
file robots.txt
# Kết quả: document.txt: ASCII text
2. Directory File (Tệp thư mục)
Directory File là một loại tệp đặc biệt dùng để chứa các tệp khác (bao gồm cả Regular File, Directory File, hoặc các loại tệp khác). Nó hoạt động như một thư mục hoặc folder trong các hệ điều hành khác, giúp tổ chức và quản lý tệp.
Chức năng
- Tổ chức tệp: Lưu trữ và sắp xếp các tệp trong hệ thống.
- Quản lý cấu trúc: Là nền tảng cho hệ thống tệp phân cấp của Linux (ví dụ:
/home
,/etc
,/var
). - Điều hướng: Cho phép người dùng di chuyển giữa các thư mục bằng lệnh như cd.
Kiểm tra
Trong đầu ra của ls -l
, Directory File được biểu thị bằng ký tự d ở đầu danh sách quyền:
drwxr-xr-x 2 user user 4096 Jun 11 2025 wp-content
Dấu d
cho biết đây là một thư mục. Lệnh file cũng xác định Directory File:
file wp-content
Kết quả: myfolder: wp-content
Ví dụ:
- Tạo một thư mục
mkdir wp-content
- Kiểm tra
ls -l
# Kết quả: drwxr-xr-x 2 user user 4096 Jun 11 2025 wp-content
file wp-content
# Kết quả: wp-content: directory
3. Symbolic Link (Liên kết mềm)
Symbolic Link (hay còn gọi là soft link) là một loại tệp đặc biệt chứa đường dẫn đến một tệp hoặc thư mục khác. Nó giống như một “phím tắt” (shortcut) trong các hệ điều hành khác, trỏ đến vị trí của tệp gốc.
Chức năng:
- Tham chiếu tệp: Cho phép truy cập tệp hoặc thư mục từ nhiều vị trí mà không cần sao chép dữ liệu.
- Linh hoạt: Có thể liên kết đến tệp hoặc thư mục ở các phân vùng khác nhau.
- Dễ quản lý: Dùng trong việc quản lý phiên bản hoặc liên kết đến tệp cấu hình.
Cách kiểm tra:
Symbolic Link được biểu thị bằng ký tự l trong đầu ra của ls -l
, và bạn sẽ thấy nó trỏ đến tệp gốc:
lrwxrwxrwx 1 user user 12 Jun 11 2025 mylink -> document.txt
Dấu l
và mũi tên ->
cho biết đây là Symbolic Link. Lệnh file cũng xác nhận:
file mylink
Kết quả: mylink: symbolic link to document.txt
Ví dụ:
- Tạo một Symbolic Link:
ln -s document.txt mylink
- Kiểm tra:
ls -l mylink
# Kết quả: lrwxrwxrwx 1 user user 12 Jun 11 2025 mylink -> document.txt
file mylink
# Kết quả: mylink: symbolic link to document.txt
Lưu ý: Nếu tệp gốc bị xóa, Symbolic Link sẽ trở thành “dangling” (liên kết hỏng) và không thể truy cập được.
4. Hard Link
Hard Link là một tham chiếu trực tiếp đến cùng một inode (đơn vị lưu trữ dữ liệu trên đĩa) của tệp gốc. Không giống Symbolic Link, Hard Link không chứa đường dẫn mà trỏ trực tiếp đến dữ liệu của tệp.
Chức năng:
- Tạo bản sao liên kết: Cho phép nhiều tên tệp trỏ đến cùng một dữ liệu trên đĩa.
- Tiết kiệm không gian: Không tạo bản sao dữ liệu, chỉ thêm một tên mới cho cùng inode.
- Bảo toàn dữ liệu: Tệp gốc vẫn tồn tại miễn là ít nhất một Hard Link còn tồn tại.
Cách kiểm tra
Hard Link không có ký hiệu đặc biệt trong ls -l
, nó xuất hiện như một Regular File. Tuy nhiên, bạn có thể kiểm tra số lượng Hard Link của một tệp bằng cột thứ hai trong ls -l
:
-rw-r--r-- 2 user user 1024 Jun 11 2025 document.txt
Số 2 cho biết tệp có hai Hard Link. Lệnh stat cũng hiển thị số lượng Hard Link:
stat document.txt
Kết quả sẽ hiển thị trường Links (ví dụ: Links: 2).
Ví dụ
- Tạo một Hard Link:
ln document.txt hardlink
- Kiểm tra:
ls -l
# Kết quả:
# -rw-r--r-- 2 user user 1024 Jun 11 2025 document.txt
# -rw-r--r-- 2 user user 1024 Jun 11 2025 hardlink
stat document.txt
# Kết quả: ... Links: 2 ...
Lưu ý: Hard Link chỉ hoạt động trong cùng một hệ thống tệp và không thể liên kết đến thư mục.
5. Socket File (Tệp socket)
Socket File là một loại tệp đặc biệt được sử dụng để giao tiếp giữa các tiến trình (inter-process communication – IPC) trong cùng một hệ thống hoặc qua mạng.
Chức năng:
- Giao tiếp tiến trình: Cho phép các chương trình trao đổi dữ liệu, ví dụ, giữa client và server.
- Ứng dụng mạng: Thường được sử dụng bởi các dịch vụ như cơ sở dữ liệu (MySQL) hoặc web server (Nginx).
- Hiệu suất cao: Hỗ trợ giao tiếp nhanh chóng trong hệ thống cục bộ.
Cách kiểm tra
Socket File được biểu thị bằng ký tự s trong đầu ra của ls -l
:
srwxr-xr-x 1 user user 0 Jun 11 2025 mysocket
Dấu s cho biết đây là Socket File. Lệnh file cũng xác nhận:
file mysocket
Kết quả: mysocket: socket
Ví dụ:
Socket File thường được tạo bởi các ứng dụng, không phải người dùng thông thường. Ví dụ, tệp socket của MySQL:
ls -l /var/run/mysqld/mysqld.sock
# Kết quả: srwxr-xr-x 1 mysql mysql 0 Jun 11 2025 /var/run/mysqld/mysqld.sock
file /var/run/mysqld/mysqld.sock
# Kết quả: /var/run/mysqld/mysqld.sock: socket
Lưu ý: Socket File thường được tạo và quản lý bởi các dịch vụ hệ thống, không phải người dùng trực tiếp.
Tóm tắt các loại tệp
Loại tệp | Ký hiệu (ls -l) | Chức năng chính | Ví dụ kiểm tra |
Regular File | – | Lưu trữ dữ liệu (văn bản, hình ảnh, thực thi) | file document.txt |
Directory File | d | Tổ chức và chứa các tệp khác | file myfolder |
Symbolic Link | l | Liên kết đến tệp/thư mục khác | file mylink |
Hard Link | – | Tham chiếu trực tiếp đến inode của tệp | stat document.txt |
Socket File | s | Giao tiếp giữa các tiến trình | file /var/run/mysqld.sock |
Kết luận
Hiểu rõ các loại tệp trong Linux là nền tảng quan trọng để quản lý hệ thống hiệu quả. Regular File và Directory File là những loại phổ biến nhất mà người dùng thường xuyên làm việc. Symbolic Link và Hard Link cung cấp sự linh hoạt trong quản lý tệp, trong khi Socket File hỗ trợ giao tiếp hệ thống. Bằng cách sử dụng các lệnh như ls -l, file, hoặc stat, bạn có thể dễ dàng xác định loại tệp và sử dụng chúng phù hợp với nhu cầu.