Hệ Thống Tập Tin Trên Linux: Hướng Dẫn Chi Tiết Cho Lập Trình Viên
Nếu bạn là một lập trình viên, chắc hẳn bạn đã từng nghe nhiều về Linux, một hệ điều hành mạnh mẽ và phổ biến thuộc vào họ UNIX. Linux có nhiều biến thể và đóng vai trò là nền tảng cho hệ điều hành của thiết bị Android. Khác với Windows, nơi mà người dùng thường không cần phải lo lắng về các thư mục hệ thống nhờ vào giao diện đồ họa, trên Linux, người dùng thường xuyên phải sử dụng command line và hiểu rõ cách tổ chức cũng như chức năng của từng thư mục trong hệ thống tập tin.
Mọi Thứ Đều Là File
Điều cơ bản nhất mà bạn cần ghi nhớ là: Mọi thứ trong Linux đều được xem như một file. Các file này được tổ chức theo tiêu chuẩn FHS (Filesystem Hierarchy Standard). Trong phần dưới đây, chúng ta sẽ đi qua từng thư mục và tìm hiểu về chức năng của chúng trong hệ thống file Linux.
1. Thư Mục boot
Thư mục này chứa tất cả các file cần thiết cho việc khởi động hệ điều hành. Nội dung của thư mục sẽ thay đổi tùy thuộc vào boot loader mà bạn sử dụng, như LILO hay GRUB. Nếu bạn đang sử dụng GRUB, bạn sẽ thấy có thư mục grub
bên trong.
2. Thư Mục bin
Thư mục /bin
chứa các file nhị phân cơ bản, bao gồm các lệnh mà bạn thường sử dụng như cd
, ls
, hay whoami
. Đây là những file bạn có thể sử dụng ở bất kỳ đâu trong hệ thống. Ví dụ, bạn có thể sao chép file ls
để tạo một lệnh mới như sau:
bash
sudo cp /bin/ls /bin/my-ls
Khi bạn gõ my-ls
, bạn sẽ thấy nó hoạt động tương tự như lệnh ls
.
3. Thư Mục sbin
Tương tự như /bin
, thư mục /sbin
cũng chứa các file nhị phân, nhưng chúng thường liên quan đến hoạt động của hệ thống và chỉ có thể truy cập bởi các quản trị viên hệ thống.
4. Thư Mục lib
Thư mục này lưu trữ các thư viện dùng chung phục vụ hệ thống và các chương trình có sẵn trong /bin
và /sbin
. Đối với các chương trình mà người dùng cài đặt, các thư viện hỗ trợ sẽ nằm trong thư mục /usr/lib
.
5. Thư Mục usr
Thư mục /usr
được sử dụng để chứa tất cả các file, thư viện cho các chương trình của người dùng, nhưng thường có ít tính chất quan trọng hơn. Khi bạn không tìm thấy lệnh trong /bin
, hãy kiểm tra thử trong /usr/bin
.
6. Thư Mục home
Khi một tài khoản người dùng được tạo ra, một thư mục với tên của người dùng đó sẽ được tạo trong thư mục /home
. Thư mục này chứa dữ liệu cá nhân của người dùng, bao gồm cả các thư mục bin
và sbin
với các file nhị phân ít sử dụng hơn.
7. Thư Mục root
Đây là thư mục cá nhân của người dùng root, người có quyền cao nhất trong hệ thống. Thư mục này không nằm trong /home
và có thể chứa các file do người dùng bình thường tạo ra, nhưng yêu cầu quyền root để truy cập.
8. Thư Mục dev
Thư mục /dev
chứa các file đại diện cho các thiết bị phần cứng như màn hình, bàn phím và thiết bị mạng. Nó cũng bao gồm các file đặc biệt như /dev/null
và /dev/zero
, thường dùng để chuyển hướng Output hoặc ghi dữ liệu.
9. Thư Mục media và mnt
Hai thư mục này được sử dụng để kết nối các thiết bị lưu trữ di động, như USB và CD/DVD. Hệ thống sẽ tự động gắn kết vào /media
khi bạn cắm thiết bị vào, trong khi /mnt
cho phép bạn gắn kết các hệ thống file từ các thiết bị khác nhau như ổ cứng ngoài.
10. Thư Mục opt
Thư mục này chứa các chương trình được đóng gói. Khi bạn cài đặt một ứng dụng như powershell, bạn sẽ thấy thư mục microsoft/powershell/
bên trong thư mục này.
11. Thư Mục etc
Thư mục /etc
lưu trữ các file cấu hình của hệ thống và các ứng dụng người dùng. Một số file tiêu biểu bao gồm: /etc/passwd
(chứa thông tin người dùng), /etc/shadow
(chứa mật khẩu mã hóa) và các file khởi động cho các dịch vụ.
12. Thư Mục proc
Thư mục /proc
chứa các file ảo cung cấp thông tin về các tiến trình đang chạy, thông tin hệ thống và phần cứng như RAM, ROM và CPU. Bạn có thể truy cập thông tin này bằng cách dùng lệnh cat
với các file trong thư mục này.
13. Thư Mục snap
Thư mục này chứa các gói phần mềm snap được cài đặt trên hệ thống. Snap là một hệ thống đóng gói và phân phối phần mềm do Ubuntu Canonical phát triển, cho phép các gói được cập nhật độc lập.
14. Thư Mục srv
Thư mục này dùng để lưu trữ dữ liệu chia sẻ bởi các dịch vụ mạng, phổ biến nhất trên máy chủ Linux. Ví dụ, dữ liệu của máy chủ web Apache có thể nằm trong thư mục /srv/www/htdocs
.
15. Thư Mục sys
Thư mục /sys
cung cấp giao diện để truy cập và quản lý các thiết bị phần cứng thông qua các file và thư mục. Tương tự như /proc
, file trong thư mục này thường không được ghi thẳng vào ổ đĩa.
16. Thư Mục var
Thư mục /var
lưu trữ các file ghi lại trạng thái hệ thống hoặc ứng dụng, bao gồm file log, email và cơ sở dữ liệu.
17. Thư Mục run
Thư mục /run
chứa các file mô tả về hệ thống được tạo trong thời gian chạy. Các file này sẽ bị xóa khi hệ thống shutdown hoặc reboot.
18. Thư Mục tmp
Cuối cùng, thư mục /tmp
lưu trữ các file tạm thời mà các ứng dụng tạo ra. Những file này cũng thường được xóa sau mỗi lần khởi động lại.
Kết Luận
Hiểu biết về hệ thống file trong Linux không chỉ giúp bạn tương tác tốt hơn với hệ điều hành mà còn là bước đầu tiên để giải quyết các vấn đề trong sử dụng Linux. Hy vọng bài viết này sẽ giúp bạn tự tin hơn và sử dụng Linux một cách hiệu quả. Nếu bạn muốn tìm hiểu thêm về phân quyền trong Linux, hãy tham khảo bài viết: Phân quyền trong Linux.
Blog: https://dongoclam.github.io
source: viblo