Symlink Là Gì

     

Giới thiệu

Trong khối hệ thống file Linux, một link (link) là 1 trong những kết nối giữa tệp tin name cùng dữ liệu thực tế trên disk.Có nhị loại links chính có thể được tạo: "hard" links, với "soft" xuất xắc symbolic links. Trước khi tìm hiểu về hard liên kết và symbolic links, có một tư tưởng khác cần làm rõ là “inode” - một quan niệm cơ bản trong Linux filesystem. Mỗi đối tượng của filesystem được đại diện bởi một inode.

Bạn đang xem: Symlink là gì

1. Inode

Trong Linux, dữ liệu của các file được chia thành các block. Có không ít cách tổ chức triển khai để liên kết những khối dữ liệu trong một tệp tin với nhau, một trong các cách đó là cần sử dụng chỉ mục (indexed allocation).

*

Trong một inode có những metadata sau:

Dung lượng tệp tin tính bởi bytes.Device ID : id của sản phẩm công nghệ lưu file.User ID : id chủ thiết lập của file.Group ID: id nhóm của chủ sở hữu file.File mode : bao gồm kiểu file và cách thức truy cập file.Timestamps: các mốc thời hạn khi: phiên bản thân inode bị biến hóa (ctime, inode change time), câu chữ file biến hóa (mtime, modification time) cùng lần truy cập mới nhất (atime, access time).Link count : con số hard link trỏ cho inode. Những con trỏ chỉ đến các blocks bên trên ổ cứng sử dụng lưu ngôn từ file. Các con trỏ cho biết file nằm ở đâu để phát âm nội dung....

Inode xác định file với thuộc tính của nó (các thuộc tính đang liệt kê ngơi nghỉ trên). Mỗi Inode được xác định bởi 1 con số duy duy nhất trong khối hệ thống tệp tin.

INODE là:

Inode là một kết cấu dữ liệu trong hệ thống tệp truyền thống của các họ Unix ví như UFS hoặc EXT3. Inode lưu giữ trữ tin tức về 1 tệp thông thường, thư mục, tốt những đối tượng người sử dụng khác của hệ thống tệp tin.

Có hai chăm chú trong câu chữ inode:Inode không đựng tên file, thư mục.Các nhỏ trỏ là thành phần quan trọng đặc biệt nhất: nó mang đến biết showroom các block lưu văn bản file và tìm đến các block đó hoàn toàn có thể truy cập được văn bản file.

2. Hard links

Hard links là những liên kết thấp cấp ( low-level links) mà khối hệ thống sử dụng để tạo các thành phần của chính hệ thống file, chẳng hạn như file với thư mục. Links cứng sẽ tạo một liên kết trong cùng khối hệ thống tập tin với 2 inode entry khớp ứng trỏ đến cùng một nội dung vật lý (cùng số inode vày chúng trỏ đến cùng dữ liệu).

Tất cả các khối hệ thống tệp tin dựa trên thư mục cần có ít nhất một link cứng (link counts từ là một trở lên) cung ứng tên gốc cho mỗi tệp tin.

Xem thêm: Mua Bán Nhà Đường Quốc Lộ 50, Huyện Bình Chánh Giá Rẻ, Please Wait

*

Lệnh tạo liên kết cứng như sau:ln

*

2 tệp tin tubepphuonghai.com.txt và hardlink.txt tất cả số inode tương đương nhau là 1326632. Xóa file tubepphuonghai.com.txt thì nội dung của tệp tin hardlink.txt vẫn còn.

*

Nội dung trong hardlink.txt vẫn còn đấy vì lúc xóa file tubepphuonghai.com.txt hệ thống chỉ xóa đi số links count vào inode của tệp tin đi 1.Khi sử dụng lệnh rm để xóa tệp tin thì làm sụt giảm một hard link. Khi con số hard link giảm còn 0 thì ko thể truy vấn tới nội dung của file được nữa

3. Symbolic links

Hầu hết người tiêu dùng không muốn tự chế tác hoặc sửa đổi những hard links, nhưng những symbolic links là 1 trong những công cụ có ích cho ngẫu nhiên người dùng Linux nào.

Symbolic links là 1 file đặc biệt quan trọng trỏ mang lại một file hoặc thư mục khác - được gọi là target. Khi được tạo, một symbolic links rất có thể được áp dụng thay mang lại target file. Nó rất có thể có một tên độc nhất, và được để trong ngẫu nhiên thư mục nào. Những symbolic liên kết thậm chí rất có thể được khiến cho cùng một target file, được cho phép truy cập target bằng nhiều tên không giống nhau.

*

Symbolic link ko chứa bạn dạng sao tài liệu của target file. Nó tương tự như như một shortcut trong Microsoft Windows: nếu bạn xóa một symbolic link, target sẽ không bị hình ảnh hưởng. Do chỉ 1-1 thuần là 1 trong những shortcut, symbolic liên kết không cần sử dụng đến inode entry. Nó sẽ khởi tạo ra một inode mới và ngôn từ của inode này trỏ mang đến tên tập tin gốc.

Ngoài ra, nếu như target của một symbolic links bị xóa, dịch chuyển hoặc đổi tên, symbolic liên kết không được cập nhật. Khi vấn đề đó xảy ra, liên kết tượng trưng được call là "broken" hoặc "orphaned" và sẽ không còn chuyển động như một liên kết.

Lệnh tạo links tượng trưng như sau: ln -s

*

2 tệp tin tubepphuonghai.com2.txt với softlink.txt gồm số inode không giống nhau lần lượt là 1326634 và 1326630. Xóa tệp tin vibo2.txt thì ngôn từ của tệp tin softlink.txt sẽ không còn còn.

Xem thêm: " Primary Partition Là Gì ? Phân Vùng Là Gì? Các Loại Phân Vùng Partition

*

Nội dung của softlink.txt ko hiển thị được vị softlink.txt trỏ mang lại một tập tin khác, cơ mà tập tin này sẽ không tồn tại.

4. So sánh Hard link và Symbolic links

Hard linksSymbolic links
Chỉ links được cho tới file, không liên kết được cho tới thư mụcCó thể link được tới thư mục
Không tham chiếu được tới tệp tin trên ổ đĩa khácCó thể tham chiếu tới file/thư mục khác ổ đĩa
Liên kết tới một file vẫn còn ngay cả lúc file này đã được di chuyểnLiên kết không hề tham chiếu được nữa nếu file được di chuyển
Được link với inode tham chiếu trang bị lý trên ổ cứng nơi đựng fileLiên kết tham chiếu thương hiệu file/thư mục trừu tượng cơ mà không phải showroom vật lý. Chúng được cung ứng inode riêng rẽ của mình
Có thể thao tác làm việc với gần như ứng dụngMột số ứng dụng không chất nhận được symbolic link

References

https://en.wikipedia.org/wiki/Inode