Thứ Tư, 21 tháng 6, 2017

Từ trước đến giờ bạn thường dùng Windows, quen thuộc với các khái niệm như ổ C, ổ D ( Trong linux không có khái niệm đó mà chỉ có /dev/sda, /dev/sda1... ) Và bây giờ mới bắt đầu làm quen với Linux thì sẽ khác bỡ ngỡ phải không nào? Và hãy bắt đầu với series Linux cơ bản nào... 

Bản thân mình khi mới làm quen với Linux cũng rất lúng túng không hiểu linux là cái quái quỷ gì mà cấu trúc thư mục nó tạp nham thế... Chẳng hiểu tạo / (root), /boot, /usr  để làm cái quái gì cả.. =))  Vì thế ở bài 1 này mình sẽ giới thiệu về cấu trúc thư mục của Linux... ( Vỗ tay nào.. )  :




1. / – Root

  • Mỗi một file và thư mục điều bắt đầu từ root directory
  • Chỉ có user root có quyền trên các thư mục ở cấp bên dưới
  • Còn /root là home directory của user root

2. /bin – User Binaries

  • Chứa file thực thi dạng binary
  • Các lệnh sử dụng thông thường trong linux được sử dụng single-user mode được đặt dưới cấu trúc thư mục này
  • Các câu lệnh được sử dụng bởi tất cả các user trong hệ thống sẽ được đặt trong đây. Ví dụ một số lệnh như ps, ls, ping, grep, cp,…

3. /sbin – System Binaries

  • Giống như /bin, bên trong /sbin cũng chứa đựng các file thực thi dạng binary. Các lệnh bên trong /sbin thường được sử dụng bởi system administrator và dùng cho các mục đích là duy trì quản trị hệ thống.
  • Một số lệnh trong đây ví dụ như iptables, reboot, ifconfig…

4. /etc – Configuration Files

  • Thông thường ở /etc sẽ chứa file cấu hình cho các chương trình hoạt động
  • Ở /etc cũng thường chứa các scripts dùng để start, stop, kiểm tra status cho các chương trình.
  • Ví dụ /etc/resolv.conf (cấu hình dns-server ), hay /etc/network dùng để quản lý dịch vụ network

5. /dev – Device Files

  • Chứa các file device để đại diện các hardware
  • Ví dụ /dev/tty1 hay /dev/sda

6. /proc – Process Information

  • Chứa các thông tin về quá trình xử lý của hệ thống 
  • Đây là một pseudo filesystem chứa đựng các thông tin về các process đang chạy
  • Đây là một virtual filesystem chứa đựng các thông tin tài nguyên hệ thống. Ví dụ: /proc/cpuinfo cung cấp cho ta thông số kỹ thuật của CPU

7. /var – Variable Files

  • Chứa đựng các file có sự thay đổi trong quá trình hoạt động của hệ điều hành
Ví dụ system log sẽ được đặt tại vị trí này :

  • + System log file /var/log
  • + database file /var/lib
  • + email /var/mail
  • + Các print queue /var/spool
  • + lock file /var/lock
  • + Các file tạm thời cần cho quá trình reboot /var/tmp

8. /tmp – Temporary Files


  • Thư mục này chứa các file tạm được tạo ra bởi hệ thống và user
  • Các file bên dưới thư mục này được xóa đi khi hệ thống reboot

9. /usr – User Programs


  • Chứa các file binary, library, tài liệu, source-code cho các chương trình
  • /usr/bin chứa file binary cho các chương trình của user. Nếu như một user trong quá trình thực thi một lệnh ban đầu sẽ tìm kiếm trong /bin, nếu như không có thì sẽ tiếp tục nhìn vào /usr/bin. Ví dụ một số lệnh như at. awk, cc…
  • /usr/sbin chứa các file binary cho system administrator. Nếu như ta không tìm thấy các file system binary bên dưới /sbin thì ta có thể tìm ở trong /usr/sbin. Ví dụ một số lệnh như cron, sshd, useradd, userdel
  • /usr/lib chứa các file libraries cho /usr/bin và /usr/sbin
  • /usr/local dùng để chứa chương trình của các user, các chương trình này được cài đặt từ source. Ví dụ khi ta install apache từ source thì nó sẽ nằm ở vị trí là /usr/local/apache2

10. /home – Home Directories


  • Home directory được chứa đựng thông tin cá nhân của các user
  • Ví dụ /home/athena , /home/student

11. /boot – Boot Loader Files


  • Chứa đựng boot loader và các file cần cho quá trình boot tùy theo các phiên bản của kernel
  • Các file Kernel initrd, vmlinux, grub được đặt bên dưới /boot
  • Ví dụ initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic

12. /lib – System Libraries


  • Chứa các file library hỗ trợ cho các file thực binary nằm bên dưới /bin và /sbin
  • Tên của các file library thường là ld* or lib*.so.* . Ví dụ như ld-2.11.1.so, libncurses.so.5.7

13. /opt – Optional add-on Applications


  • opt đại diện cho optional
  • Chứa đựng các chương trình thêm vào của các hãng khác

14. /mnt – Mount Directory


  • Chứa các thư mục dùng để system admin thực hiện quá trình mount

15. /media – Removable Media Devices


  • Chứa thư mục dùng để mount cho các thiết bị removable. Ví dụ như CDROM, Floppy…

16. /srv – Service Data


  • srv đại diện cho service
  • Chứa đựng các dịch vụ cho server, nó liên quan đến dữ liệu. Ví dụ /srv/cvs chứa đựng CVS

Okey... Tới đây là xong đống lý thuyết cho sơ đồ cấu trúc của một hệ điều hành linux rồi phải không nào? Unix thì cũng tương tự nhưng mình sẽ đề cập trong một series khác nhé.. =))
Goodbye and see you again....

bình luận ( 0 )


Một số lưu ý khi bình luận

Mọi bình luận sai nội quy sẽ bị xóa mà không cần báo trước (xem nội quy)

Bấm Thông báo cho tôi bên dưới khung bình luận để nhận thông báo khi admin trả lời

Để bình luận một đoạn code, hãy mã hóa code trước nhé