- là CẤU TRÚC DỮ LIỆU trong UNIX filesystem, dùng để chứa các thông tin về file (owner, permission, time, disk block location - địa chỉ trên ổ cứng thực sự chứa dữ liệu file) - CHÚ Ý: inode không chứa tên file
- ít gặp khi vận hành hệ thống (chỉ xuất hiện khi ổ cứng hết inode không tạo được thêm file, xem bằng
df -i
) - thường xuyên được hỏi khi phỏng vấn các công ty nước ngoài
- là khái niệm ở level tương đối thấp (UNIX filesystem: ext2, ext3, ext4, ...)
- đã ở đó từ những năm 197x
- wikipedia có thông tin khá đầy đủ https://en.wikipedia.org/wiki/Inode
- là một directory entry nối một
name
(tên file) với một file trong file system. - Directory (trên Windows gọi là folder) là một file chứa các "dòng" (entry) chỉ dẫn đến các file khác.
- thứ đại diện cho file là inode chứ không phải data thực sự của file. Vậy: filename --hardlink--> inode ---> file data
- một file có thể có nhiều hardlink với các name khác nhau, có thể ở các directory khác nhau, chúng đều chỉ tới inode.
- lệnh
stat filename
hiện số hardlink đang link tới 1 file. - https://en.wikipedia.org/wiki/Hard_link.
- Tạo hardlink bằng lệnh ln, inode không đổi:
Số lượng hardlink ở đây là 3, hiện lên sau permision trong output của lệnh stat.# Ví dụ trên OSX - vẫn là 1 UNIX OS $ touch pymi /tmp () $ ls -i pymi 11186530 pymi $ ln pymi pymivn $ ls -i pymivn 11186530 pymivn $ ln pymi ~/pymivn $ ls -i ~/pymivn 11186530 /Users/viethung.nguyen/pymivn $ stat ~/pymivn 16777220 11186530 -rw-r--r-- 3 viethung.nguyen wheel 0 0 "Jul 21 23:50:16 2018" "Jul 21 23:50:16 2018" "Jul 21 23:50:46 2018" "Jul 21 23:50:16 2018" 4096 0 0 /Users/viethung.nguyen/pymivn
- Dữ liệu file và inode chỉ bị xoá khi nào số hardlink link tới inode = 0
- Là 1 file (nghĩa là có 1 name, 1 inode, 1 filedata), với filedata là đường dẫn tới đích (file khác - symlink target).
- Để đỡ tốn 1 filedata, với symlink có target gần (string ngắn), chứa string đó vào inode, như vậy tiết kiệm được 1 filedata, cách này gọi là fastlink, khi string dài, quay trở lại cách 1.
- Symlink không có permission, nó theo file target
- Symlink có thể chỉ tới 1 target không tồn tại (dangling symlink)
- Xoá symlink không ảnh hưởng gì đến target
- Chi tiết xem tại https://en.wikipedia.org/wiki/Symbolic_link
Note tạm - hvn@pymi.vn and https://www.familug.org