Bài viết Cấu trúc hệ thống tập tin trong linux

Thảo luận trong 'Hệ điều hành Linux' bắt đầu bởi microsoft, 31 Tháng bảy 2011.

  1. Offline

    microsoft

    • Windows NT

    Số bài viết:
    82
    Đã được thích:
    52
    Điểm thành tích:
    60
    Cấu trúc hệ thống tập tin trong linux

    Mỗi hệ điều hành có cách tổ chức lưu trữ dữ liệu riêng. Ở mức vật lý, đĩa được định dạng từ các thành phần sector, track, cylinder. Ở mức logic, mỗi hệ thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để có thể xác định được dữ liệu từ mức logic tới mức vật lý. Cách tổ chức như vậy gọi là hệ thống tập tin (file system).

    Chẳng hạn như Windows sử dụng hệ thống tập tin FAT16, FAT32, WinNT sử dụng NTFS để
    tăng cường bảo mật hệ thống tập tin.
    Hệ thống tập tin là một phần cơ bản của hệ điều hành Linux.
    Một hệ thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư mục.
    Hệ thống tập tin Linux bao gồm: đĩa mềm, CD-ROM, những partition của đĩa cứng. Những
    hệ thống tập tin thường được tạo trong quá trình cài đặt hệ điều hành. Nhưng bạn cũng có thể thay đổi cấu trúc hệ thống tập tin khi thêm thiết bị hay chỉnh sửa những partition đã tồn tại. Như vậy, việc biết và hiểu cấu trúc hệ thống tập tin trong Linux thật là quan trọng.

    Linux hỗ trợ rất nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc. Hệ thống tập tin cơ bản của Linux là ext2 và ext3 (hiện tại là ext3). Hệ thống tập tin này cho phép đặt tên tập tin tối đa 256 ký tự và kích thước tối đa là 4terabytes. MS-DOS dùng để truy cập trực tiếp những tập tin MS-DOS. Bên cạnh đó, Linux còn hỗ trợ vfat cho phép đặt tên tập tin dài đối với những tập tin MS-DOS và những partition FAT32. Proc là một hệ thống tập tin ảo (/proc) nghĩa là không dành dung lượng đĩa phân phối cho nó. Ngoài ra còn có những hệ thống tập tin khác như iso9660, UMSDOS, Network File System (NFS).
    Các thành phần của hệ thống tập tin:

    +Superblock
    +Inode
    +Storageblock

    Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin. Nó lưu trữ thông tin về hệ thống tập tin như: Thông tin về block-size, free block, thời gian gắn kết(mount) cuối cùng của tập tin

    Inode (256 byte): Lưu những thông tin về những tập tin và thư mục được tạo ra trong hệ thống tập tin. Nhưng chúng không lưu tên tập tin và thư mục thực sự. Mỗi tập tin tạo ra sẽ được phân bổ một inode lưu thông tin sau:

    +Loại tập tin và quyền hạn truy cập tập tin
    +Người sở hữu tập tin.
    +Kích thước của tập tin và số hard link đến tập tin.
    +Ngày và thời gian chỉnh sửa tập tin lần cuối cùng.
    +Vị trí lưu nội dung tập tin trong hệ thống tập tin.

    Storageblock: Là vùng lưu dữ liệu thực sự của tập tin và thư mục. Nó chia thành những Data Block. Dữ liệu lưu trữ vào đĩa trong các data block. Mỗi block thường chứa 1024 byte. Ngay khi tập tin chỉ có 1 ký tự thì cũng phải cấp phát 1 block để lưu nó. Không có ký tự kết thúc tập tin.

    + Data Block của tập tin thông thường lưu inode của tập tin và nội dung của tập tin Data Block của thư mục lưu danh sách những entry bao gồm inode number, tên của tập tin và những thư mục con.

    Loại tập tin.

    Trong linux tập tin dùng cho việc lưu trữ dữ liệu. Nó bao gồm cả thư mục và các thiết bị lưu trữ.

    Một tập tin dữ liệu, hay một thư mục đều được xem là tập tin. Khái niệm tập tin còn mở rộng dùng cho các thiết bị như máy in, đĩa cứng … ngay cả bộ nhớ chính cũng được coi như là một tập tin,các tập tin trong linux được chia ra làm 3 loại chính:

    +Tập tin chứa dữ liệu bình thường
    +Thư mục
    +Tập tin thiết bị

    Tập tin dữ liệu:
    Đây là tập tin theo định nghĩa truyền thống, nó là dữ liệu lưu trữ trên các thiết bị lưu trữ như đĩa cứng, CD-ROM … Bạn có thể đưa bất cứ dữ liệu nào vào tập tin này như đoạn source chương trình, tập tin văn bản hay tập tin thực thi dạng mã máy, các lệnh của Linux cũng như tất cả các tập tin được tạo ra bởi người dùng.
    Tập tin thư mục: Thư mục không chứa dữ liệu, mà chỉ chứa các thông tin của những tập tin và thư mục con trong nó. Thư mục chứa hai trường của một tập tin là tên tập tin và inode number.

    Liên kết tập tin

    Link (Liên kết) một liên kết, hiểu theo cách đơn giản nhất, là tạo ra một tên tập tin thứ hai cho một tập tin. Ví dụ, bạn có một tập tin /usr/lib/testfile và muốn có một tập tin giống như vậy trong thư mục /usr/tim, bạn không cần phải copy nó mà chỉ cần tạo một liên kết với lệnh sau:

    Mã:
    #ln /usr/bill/testfile /usr/tim/testfile
    Cú pháp của lệnh ln:

    $ln <nguồn> <đích>

    Lý do cơ bản của việc tạo liên kết là nhân tập tin lên nhiều lần. Trong ví dụ trên, cả hai tập tin chính là một. Do đó, nếu có bất kỳ sự thay đổi nào trên một tập tin sẽ ảnh hưởng ngay đến tập tin còn lại.

    Hard Link: là một liên kết trong cùng hệ thống tập tin với hai inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu). Nếu bạn muốn thấy điều này, dùng lệnh sau:

    Mã:
    $ ls -i testfile
    14253 testfile
    Sau đó tạo một liên kết có một tên khác và hiển thị thông tin của inode entry.
    Mã:
    $ ln testfile test2
    $ ls -i testfile test2
    14253 testfile 14253 test2
    Cả hai tập tin đều có inode number giống nhau

    Symbolic Link: Là một liên kết khác mà không sử dụng inode entry cho việc liên kết. Bạn sử dụng liên kết này khi muốn tạo ra những driver thiết bị, như /dev/modem thay cho /dev/cua1. Tùy chọn –s của lệnh ln cho phép tạo ra một symbolic link.

    Ví dụ:
    Mã:
    $ ls -i bigfile
    6253 bigfile
    $ ln -s bigfile anotherfile
    $ ls -i bigfile anotherfile
    6253 bigfile 8358 anotherfile
    Như bạn thấy, nội dung inode number của các tập tin khác nhau. Liệt kê một thư mục sẽ thấy symbolic link:

    Mã:
    lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile
    -rw-rw-r-- 1 root root 2 Sep 17:23 bigfile
    Lưu ý: khi xóa tập tin gốc, nội dung của tập tin hard link không bị ảnh hưởng nhưng nội dung tập tin symbolic link không xem được.

    MS: 2mit.org
    integer thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí