Cấu trúc cây thư mục trong Linux

Linux luôn giữ lại cấu trúc cây thư mục lịch sử của Unix (vì nó được phát triển như một bản unix clone) nhưng do nó không phải là Unix nên những nhà phát triển cũng tự thay đổi cấu trúc đó để phù hợp với linux. Cấu trúc cây thư mục của linux được mô tả trong tài liệu về Filesystem Hierachy Standard (FHS), đây là cấu trúc mà phần lớn các bản linux tuân theo.

Tài liệu cụ thể về FHS được mô tả tại đây

Trong bài viết này tôi chỉ xin đề cập và giới thiệu một cách sơ lược về fhs.

/bin
Nơi đây lưu giữ những tập lệnh cơ bản của linux, những tập lệnh này có thể dược chạy bởi bất kỳ user nào trên hệ thống (không phải như là việc chỉ mỗi root có thể chạy trong /sbin). Các chương trình khác có thể được tìm thấy trong /usr/bin.

/boot
Nơi chứa những thông tin bootmanager cần có (thông dụng hiện nay là grub) và một số bản của kernel

/dev
Trong thư mục này chứa những tập tin device

/etc
Trong thư mục này chứa các tập tin tuỳ biến của cả hệ thống. Những tập tin trong này điều khiển cả quá trình khởi động máy, quản lí users, quản lí mạng ...

/home
Trong thư mục này chứa đựng những home directories của người dùng. Home directory của root thì nằm ở /root. Nguyên do của việc trên là /home thường nằm ở một partition khác và nhiều lúc thì root cần được hoạt động ngay cả khi partition đó không thể access được (vì một lý do nào đó).

/lib
Nơi chứa đựng một vài thư viện dùng chung hoặc là đường dẫn tượng trưng (symbolic links) đến các thư mục dùng chung đó. Những thư viện này sẽ được sử dụng đến cho việc chạy một số các programs nhất định. Trong thư mục /lib /modules chứa đựng những kernel modules, chúng được bật và tắt nếu cần thiết.

/lost+found
Trong thư mục này, những tệp tin bị mất sẽ được lưu trữ. Những tệp tin được xếp vào dạng này là những tệp tin không đầy đủ hoặc bị lỗi được tạo ra khi linux không được tắt một cách hoàn thiện.

/mnt
FHS luôn hướng người sử dụng mount các hệ thống tệp tin phụ như CD-Rom, partition của windows dưới /mnt/cdrom hay /mnt/c , ngoài /mnt thì hiện nay thư mục thường được dùng là /media.

/opt
Thư mục này được tạo ra cho một số chương trình riêng của người sử dụng. Thi thoảng có một số chương trình được cài đặt tại /usr/local

/proc
Những thư mục con trong thư mục này chứa đựng những tiến trình đang được chạy trên hệ thống, các tệp tin trong thư mục này không phải là các tệp tin thực sự. Thư mục /proc chỉ tạo ra một hình ảnh về quản lý các tiến trình trong máy.

/root
Home directory của tài khoản root

/sbin
Nơi chứa những tập lệnh cho việc quản lý hệ thống. Tất cả các tệp tin trong thư mục này chỉ có tài khoản root có quyền chạy.

/tmp
Nơi chứa những tệp tin nháp (temporary files). Những tệp tin nháp này cũng thường được ghi, lưu vào /var/tmp.

/usr
Đây là một trong những thư mục quan trọng và chứa nhiều thứ nhất của hệ thống. Trong thư mục này chứa đựng tất cả các chương trình, hệ thống X-window, nguồn của linux và nhiều thứ khác. Trong thư mục này thường chỉ chứa đựng những thông tin không thể thay đổi được, còn những biến khác sẽ được lưu ở /var . Thường có nhiều người rất hay nhầm lẫn usr là viết tắt của user nhưng thực ra nó là viết tắt của unix system resources.

/var
Cũng như là /usr, đây là nơi chứa rất nhiều các thư mục con với những tệp tin luôn thay đổi (đọc, ghi, xoá). Những thư mục trong này có cấu trúc và tên phần lớn giống như tên của các thư mục con trong /usr, chỉ khác so với những tệp tin và thư mục trong /usr là những tệp tin và thư mục ở đây luôn thay đổi.

Trong bài viết này xin phép không kể đến những thư mục con trong /usr và /var .

Một vài định nghĩa trong linux

Trong một phiên làm việc thì người sử dụng luôn ở đâu đó trên cây thư mục. Đối với việc mở một terminal thì người sử dụng sẽ đặt chân vào đâu đó nhất định trong cây thư mục hệ thống và từ đó đến hết phiên làm việc thì người sử dụng có thể sẽ di chuyển qua lại trong cây thư mục để thực hiện và xử lý một số công việc nhất định. Sau đây là một số định nghĩa cơ bản mà mọi người sẽ thường gặp trong quá trình làm việc với *nix nói chung và linux nói riêng :

Root-directory (gốc của cây thư mục)
nó được gắn ở chỗ cao nhất trong cây thư mục và trên nó không còn có một thư mục nào khác. Root-directory được đánh dấu với / (dấu gạch chéo).

working-directory hay là current directory
Thư mục này chính là thư mục mà người sử dụng đang làm việc (đang nằm trong nó). Với lệnh pwd (print working directory) bạn có thể biết được là mình đang đứng ở đâu trong cây thư mục, và có thể sử dụng lệnh cd để nhảy từ

Parent-directory (thư mục mẹ)
là thư mục nằm ngay phía trên một thư mục khác trong cây thư mục, ví dụ /home là thư mục mẹ của /home/tuantub . Chỉ có một ngoại lệ là thư mục bố mẹ của / (root) chính là nó biggrin.gif

Path (đường dẫn)

Mỗi tệp tin hay thư mục trong hệ thống linux hay unix được chỉ định bởi một đường dẫn, trong các ví dụ sau sẽ sử dụng hình ảnh của cây thư mục dưới đây :
Highslide JS

Người ta phân biệt giữa hai loại đường dẫn là đường dẫn tương đối và đường dẫn tuyệt đối.

Đường dẫn tuyệt đối :
Đường dẫn tuyệt đối của một tệp tin hay thư mục luôn bắt đầu bởi / (root) và tiếp theo sau đó là chuỗi các thư mục mà nó đi xuyên qua cho đến khi tới đích. Tóm lại, một đường dẫn tuyệt đối là đường dẫn bắt đầu bởi / (root)
Ví dụ :
1.Khi bạn đang đứng trong thư mục tuantub, thư mục con của home hay còn có thể nói home là thư mục mẹ của tuantub thì đường dẫn tuyệt đối của của thư mục tuantub sẽ là /home/tuantub.
2.Đường dẫn tuyệt đối của tệp tin abc, tệp tin con của thư mục mẹ là Desktop, và Desktop là thư mục con của tuantub sẽ là /home/tuantub/Desktop/abc . Dấu / đầu tiên có đánh dấu cho root directory còn những dấu sau sẽ là dấu ngăn cách giữa thư mục mẹ và thư mục con của một đường dẫn.

Đường dẫn tương đối:
Đối với đường dẫn tương đối thì người sử dụng không đòi hỏi phải bắt đầu từ / (root) mà có thể tiếp cận được với các thư mục hay tệp tin bên trong thư mục hiện hành (working directory). Một đường dẫn tương đối thường bắt đầu với :
-Tên của một thư mục hoặc tệp tin
-Một dấu . (dấu chấm) biểu thị cho working directory (có lẽ có nhiều bạn sẽ liên tưởng đến lệnh ./configure khi biên dịch một chương trình nào đó, dấu . ở đây chính là đường dẫn tương đối của thư mục hiện hành, cả câu lệnh sẽ có ý nghĩa là : “hãy chạy tệp tin tên là configure nằm trong thư mục hiện thời” )
-Một dấu .. (hai chấm) biểu thị cho t hư mục mẹ của thư mục hiện thời.
1.Giả sử là bạn đang đứng trong thư mục /home/tuantub trong cây thư mục, từ đây thì đường dẫn Desktop/abc sẽ là đường dẫn tương đối của tệp tin abc còn /home/tuantub/Desktop/abc sẽ là đường dẫn tuyệt đối.
2.Từ /home/tuantub thì đường dẫn tương đối đến thư mục /etc sẽ là ../../etc (thư mục etc là thư mục con của thư mục mẹ của thư mục mẹ của /home/tuantub)
3.Từ /home/tuantub, nếu muốn di chuyển đến /etc thì ta dùng lệnh cd với :
Đường dẫn tuyệt đối :
cd /etc
Đường dẫn tương đối:
cd ../../etc

Mong rằng bài viết ngắn trên sẽ giúp cho những người mới bước chân vào thế giới linux hiểu được phần nào về cấu trúc cây thư mục trong linux. 

Nguồn : sưu tầm






Để bắt đầu tham gia Giao dịch tài chính:


Viết nhận xét

Các bạn có thể viết lời nhận xét cho bài viết, nhưng cần tuân thủ một số quy tắc sau:

» Các nhận xét/bình luận phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Viết bằng tiếng việt có dấu hoặc tiếng Anh. Nội dung viết không dấu sẽ bị xóa.
» Hãy để lại tên của bạn khi nhận xét/bình luận, để tôi có thể dễ dàng trả lời bạn khi cần.

Chúc các bạn tìm được những kiến thức bổ ích khi tình cờ ghé thăm blog này.