Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

4/ Liên kết tập tin

Mỗi tập tin được liên kết với một inode mà chứa các thuộc tính của tập tin đó như là định dạng (text, binary,…), kích thước, ngày khởi tạo, vị trí trên thiết bị lưu trữ, chủ sở hữu, quyền truy cập,… Thông tin về tập tin mà inode nắm giữ thường được gọi là metadata, đặc biệt inode không chứa tên file và nội dung thật sự của file.

Mỗi inode có một số inode (inode number), tạo thành một bảng inode (inode table) ghi ở một khu vực riêng trên ổ cứng.

linux72_1 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Chú ý là trong inode không có tên tập tin.

Tên tập tin được lưu trong thư mục cùng với số inode của nó.

Khi truy cập đến một tập tin, hệ điều hành từ tên tập tin tìm ra số inode rồi dùng số inode để đọc nội dung inode, từ đó xác định được địa chỉ block để đọc nội dung tập tin.

linux72_2 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Lệnh ls -i liệt kê các số inode của các đối tượng trong thư mục: thư mục Desktop có số inode là 391749, tập tin post-install.log có số inode là 67478.

linux72_5 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Lệnh stat cho biết chi tiết về nội dung inode:

linux72_6 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

a/ Liên kết cứng (Hard link)

Là một liên kết trong cùng hệ thống tập tin với 2 inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng số inode vì chúng trỏ đến cùng dữ liệu).

linux72_3 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Cú pháp: ln <nguồn> <đích>

Tạo 1 tập tin tên là hard với nội dung 123

[[email protected] data]# echo “123” > hard

Tạo hard link

[[email protected] data]# ln hard hardlink

Sử dựng lệnh ls -i và thấy số inode giống nhau.

[[email protected] data]# ls -i

linux72_7 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Xóa tập tin hard

[[email protected] data]# rm hard

Kiểm tra nội dung tập tin hardlink. Ta nhận thấy rằng nội dung tập tin không hề mất đi. Vì thực chất khi xóa tập tin hard hệ thống chỉ xóa đi số link count trong inode của tập tin đi 1.

linux72_8 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Chú ý ta không thể tạo hard link trên hai partition khác nhau và hard link tới 1 thư mục.

Khi sử dụng lệnh rm để xóa file thì thực chất là làm giảm đi một hard link. Khi số lượng hard link giảm còn 0 thì không thể truy cập tới nội dung của file được nữa (mặc dù nội dung đó vẫn tồn tại trên thiết bị lưu trữ) vì hệ điều hành không còn cách nào để tham khảo tới tập tin này. Dữ liệu của tập tin chỉ thực sự bị mất khi vị trí của nó bị ghi đè bởi các tập tin mới. Điều này giải thích tại sao ta vẫn có thể khôi phục dữ liệu vừa bị xóa và không có dữ liệu nào được tạo ra trên vị trí của dữ liệu cũ.

b/ Liên kết mềm (Soft link)

Là liên kết không dùng đến inode entry mà chỉ đơn thuần là một shortcut. Nó sẽ tạo ra một inode mới và nội dung của inode này trỏ đến tên tập tin gốc.

linux72_4 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Cú pháp: ln -s <nguồn> <đích>

Tạo 1 tập tin tên là hard với nội dung 123

[[email protected] data]# echo “123” > soft

Tạo soft link

[[email protected] data]# ln -s soft softlink

Sử dựng lệnh ls -i và thấy số inode khác nhau.

[[email protected] data]# ls -i

linux72_9 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Thêm nội dung vào softlink

[[email protected] data]# echo “456” >> soft

Kiểm tra nội dung tập tin soft

linux72_10 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Xóa tập tin soft

[[email protected] data]# rm soft

Kiểm tra nội dung tập tin softlink. Ta nhận thấy rằng nội dung của softlink không hiển thị được, đơn giản là vì softlink trỏ đến một tập tin khác, mà tập tin này không tồn tại.

linux72_11 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Chú ý softlink có thể liên kết đến một thư mục và có thể liên kết đến hai file thuộc hai phân vùng khác nhau.

5/ Thao tác trên hệ thống tập tin và thiết bị

a/ Xem danh sách các partition

[[email protected] ~]# fdisk -l

linux72_12 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

b/ Xem danh sách các mounted point

[[email protected] ~]# df -l

linux72_13 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

[[email protected] ~]# df -lh

linux72_14 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

c/ Xem dung lượng của một hay nhiều tập tin

[[email protected] ~]# du -l

linux72_15 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

[[email protected] ~]# du -lh

linux72_16 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

d/ Định dạng file system

Kiểm tra kiểu file system đang được mounted trên hệ thống:

[[email protected] ~]# df -lT

linux72_19 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Để định đang kiểu file system /dev/sda5 sang ext5:

Umount file system /dev/sda5:

[[email protected] /]# umount /dev/sda5

Thực hiện lệnh:

[[email protected] /]#mkfs -t ext4 /dev/sda5

linux72_20 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Mount lại file system /dev/sda5:

[[email protected] /]# mount /dev/sda5 data

Kiểm tra lại:

[[email protected] ~]# df -lT

linux72_21 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Chủ ý chuyển đổi định dạng file system sẽ làm mất dữ liệu, nên back up dữ liệu trước khi thực hiện.

e/ Chuẩn đoán và sửa lỗi file system

Người quản trị hệ thống chịu trách nhiệm duy trì tính nhất quán của các hệ thống tập tin. Công việc thường làm là thỉnh thoảng kiểm tra xem có tập tin nào hỏng không. Linux sẽ tự động kiểm tra hệ thống tập tin lúc khởi động nếu chúng có giá trị lớn hơn 0 và được xác định trong trường pass number của tập tin /etc/fstab. Để thực hiện những công việc trên, người quản trị dùng lệnh fsck [tùy_ chọn] hệ_thống_tập_tin

[[email protected] ~]# fsck -a /dev/sda5

linux72_17 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Bảng sau đây mô tả các tùy chọn

linux72_18 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

g/ Tạo và xóa partition

Sử dụng công cụ fdisk

Tạo HDD thứ 2 trên Vmware và gắn vào máy ảo đang xài Linux.

linux72_22 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Thực hiện lệnh:

[[email protected] ~]# fdisk -l

linux72_23 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Để xem HDD mới gắn vào nằm ở đâu, trong hình trên là /dev/sdb.

Thực hiện lệnh:

[[email protected] ~]# fdisk /dev/sdb

Nhập m để xem menu lệnh

linux72_24 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhạp d nếu muốn xóa 1 partition

Nhập p để in partition table

linux72_25 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhập n để tạo partition và nhập p để tạo primary partition và nhập 1 để tạo primary partition thứ 1

linux72_26 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhấn phím enter để chọn măc định First cylinder cho partition

Nhập Last cylinder +100M để tạo partition mới có kích thước 100M

linux72_27 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhập t để thay đổi partition type

linux72_28 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhập L để xem danh sách các Hex code

linux72_29 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Nhập vào 83 để tạo partition kiểu Linux

Nhập p để in partition table

linux72_30 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

Thực hiện tương tự để tạo các partition. Nhưng cần chú ý chỉ được tạo tối đá 4 partition (primary parition + extended partition)

Chọn w để thoát + lưu.

Dùng lệnh mkfs để thay đổi kiểu partition type cho partition sao khi tạo xong bằng lệnh fdisk

[[email protected] ~]# mkfs -t ext4 /dev/sdb1

Tạo thư mục testsdb trong thư mục /mnt, và mount để sử dụng.

[[email protected] ~]# mkdir /mnt/testsdb

[[email protected] ~]# mount /dev/sdb1 /mnt/testsdb/

Để kiểm tra, sử dụng lệnh:

[[email protected] ~]# df -lT

linux72_31 Tư học LPI 1, 2: Bài 7 Hệ thống tập tin (File System) Phần 2

BÌNH LUẬN

Please enter your comment!
Please enter your name here