Cùng thảo luận về việc khi nào bạn sử dụng hard links hay soft links, và cú pháp của từng câu lệnh.
Hard links
Phương thức hoạt động của hard link là một trong những gì cơ bản nhất chúng ta sẽ thảo luận hôm nay. Mọi file trong hệ thống Linux bắt đầu với một hard link đơn giản. Đó là sự liên kết giữa tên file và dữ liệu được lưu trong hệ thống. Tạo thêm một hard link nữa cho files có nghĩa sẽ tạo ra một số thay đổi khác, hãy cùng xem chúng
Đầu tiên bạn tạo một file mới trỏ tới dữ liệu giống y như file cũ. Điều này nghĩa là bạn có 2 files khác nhau, trông khác nhau, nhưng trỏ tới cùng một dữ liệu. Ví dụ, nếu bạn tạo ra một file /home/tcarrigan/demo/link_test và viết hello world vào trong file. Ở đây tôi đã có một hard link giữa tên file link_test và nội dung của file (hello world)
[tcarrigan@server demo]$ ls -l total 4 -rw-rw-r--. 1 tcarrigan tcarrigan 12 Aug 29 14:27 link_test
Ghi nhớ lại số liên kết ở đây là 1
Sau đó tôi sẽ tạo thêm một hard link mới trong thư mục /tmp tới file ở trên sử dụng dòng lệnh
[tcarrigan@server demo]$ ln link_test /tmp/link_new
Cú pháp ở đây là
ln (Đường dẫn file gốc) (Đường dẫn file mới)
Khi bạn trông vào hệ thống, bạn sẽ thấy cả hai hard links
[tcarrigan@server demo]$ ls -l link_test /tmp/link_new -rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 link_test -rw-rw-r--. 2 tcarrigan tcarrigan 12 Aug 29 14:27 /tmp/link_new
Sự khác nhau cơ bản ở đây là tên file. Và số liên kết đã được thay đổi thành (2). Nếu tôi dùng lệnh cat để xem nội dung của files mới. Nó sẽ hiển thị data ban đầu
[tcarrigan@server demo]$ cat /tmp/link_new hello world
Khi sự thay đổi xảy ra với một files, thì files còn lại cũng sẽ ảnh hưởng theo. Ví dụ như quyền hạn, số liên kết, chủ sở hữu, dấu thời gian và nội dung của file là hoàn toàn giống nhau. Nếu files gốc bị xoá, dữ liệu vẫn còn dưới hardlink thứ 2. Dữ liệu chỉ hoàn toàn bị loại bỏ khỏi ổ đĩa của bạn khi tất cả links tới dữ liệu bị loại bỏ. Nếu bạn tìm thấy hai files với các thông số giống hệt nhau nhưng không đảm bảo rằng chúng có được hard-link với nhau không, sử dụng câu lệnh ls -i để xem số inode. Những files được hard-link với nhau có cùng số inode
Hard Limit
Mặc dùng hardlink rất hữu dụng, nhưng có một số hạn chế trong những gì hard links có thể làm. Ví dụ như hardlink chỉ có thể tạo trên những file thông thường (Không phải thư mục hoặc những files đặc biệt). Đồng thời Hardlink cũng không thể mở rộng nhiều hệ thống tệp. Chúng chỉ hoạt động khi có hardlink mới tồn tại trên cùng một hệ thống tệp như file gốc
Soft links
Thường được gọi là symbolic links, soft links liên kết giữa non-regular files và regular files. Chúng có thể mở rộng giữa các filesystems (Điều mà hardlink không làm được). Về định nghĩa, một soft link không phải là một file thông thường, nó là một file đặc biệt trỏ tới file sẵn có. Giờ tôi sẽ chỉ cho bạn cách tạo một soft link. Tôi sử dụng câu lệnh ln -s với cú pháp
ln -s (Đường dẫn tới file bạn muốn trỏ tới) (Đường dẫn file mới)
Trong ví dụ phía dưới, tô sẽ tạo ra một file mới tại /home/tcarrigan/demo/soft_link_test với nội dung là (soft Hello world). Sau đó tôi sẽ tạo một soft link tới file tại /tmp/soft_link_new
[tcarrigan@server demo]$ ln -s /home/tcarrigan/demo/soft_link_test /tmp/soft_link_new [tcarrigan@server demo]$ ls -l soft_link_test /tmp/soft_link_new -rw-rw-r--. 1 tcarrigan tcarrigan 17 Aug 30 11:59 soft_link_test lrwxrwxrwx. 1 tcarrigan tcarrigan 35 Aug 30 12:09 /tmp/soft_link_new -> /home/tcarrigan/demo/soft_link_test
Lưu ý rằng /tmp/soft_link_new chỉ là một symbolic link, trỏ tới file gốc /home/tcarrigan/demo/soft_link_test. Nếu tôi dùng lệnh cat để xem nội dung của file /tmp/soft_link_new. Tôi sẽ thấy nội dung file gốc (soft Hello world)
[tcarrigan@server demo]$ cat /tmp/soft_link_new soft Hello world
Tất cả nghe có vẻ đã hoàn thảo, tuy nhiên vẫn có một số nhược điểm khi sử dụng soft link. Vấn đề lo ngại lớn nhất là mất mát và nhầm lẫn data. Nếu file gốc bị xoá thì softlink bị hỏng. Tình trạng lúc này là soft link bị treo và không trỏ vào đâu. Nếu bạn tạo một file mới với tên như file cũ, thì cái softlink lúc này không bị treo nữa. Nó sẽ trỏ tới file mới tạo, kể cả có nằm trong mục đích của bạn hay không, vì vậy hãy luôn để tâm vào mỗi thao tác nhé
Hard or soft?
Không có một câu trả lời rõ ràng ở đây, mọi thức tuỳ thuộc vào hoàn cảnh riêng của bạn. Trong khi các phương thức hoạt động có vẻ khó nhớ, nhưng cú pháp thì lại thật sự dễ nhớ. Vì vậy khá đơn giản để tach biệt hai thứ này trong trí nhớ chúng a. Tóm gọn lại
- Một Hardlink luôn luôn trỏ tới một file có dữ liệu trong bộ nhớ
- Một softlink luôn luôn trỏ file này tới một file khác mà file đó trỏ tới dữ liệu trong bộ nhớ
Blog VPS GPU
Giá thuê VPS GPU treo game 2023: Hướng dẫn thuê và cài đặt chi tiết
Bạn là một game thủ đam mê, luôn tìm kiếm trải nghiệm chơi game tối [...]
Blog Cloud VPS VPS GPU
Vì sao nên thuê VPS GPU tại Cloudzone
Trong vô số những nhà cung cấp dịch vụ thuê VPS GPU trên thị trường, [...]
Blog Cloud VPS VPS GPU
Giải đáp những thắc mắc về dịch vụ thuê VPS có GPU
Bạn đang tìm kiếm một giải pháp VPS mạnh mẽ và hiệu suất cao để [...]
Blog Cloud VPS
Bảng giá thuê VPS GPU mới nhất năm 2023
Trong thế giới công nghệ ngày nay, VPS (Virtual Private Server) có GPU đóng vai [...]
Cloud VPS Blog
VPS GPU: Đỉnh cao hiệu suất với lợi ích & ứng dụng vượt trội
Trong thế giới công nghệ đầy cạnh tranh hiện nay, việc nâng cao hiệu suất [...]
Cloud VPS
VPS có GPU và sức mạnh xử lý đồ họa, phân tích dữ liệu của nó
VPS có GPU là lựa chọn tuyệt vời cho việc xử lý đồ họa cao [...]