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ớ
Máy chủ vật lý
4 Lợi Ích Thiết Thực Mà Máy Chủ Vật Lý Mang Lại Cho Doanh Nghiệp
Trong thời đại chuyển đổi số mạnh mẽ như hiện nay, việc đầu tư vào [...]
Giải pháp
Cách Phòng Chống DDoS Cho Website, VPS, và Server Hiệu Quả
Các cuộc tấn công DDoS (Distributed Denial of Service) là một mối đe dọa lớn [...]
Chưa được phân loại portal portal cloudzone Về Portal
Mã đăng nhập Portal Cloudzone là gì? 3 cách lấy mã đăng nhập
Ngày nay, khi công nghệ số phát triển mạnh mẽ, việc bảo mật thông tin [...]
Cloud hosting Blog
So sánh Cloud Hosting cPanel, DirectAdmin và Plesk
Khi lựa chọn dịch vụ Cloud Hosting để lưu trữ website hoặc ứng dụng, một [...]
Cloud VPS
[2024] Kinh Nghiệm Chọn VPS Treo Game Không Lo Gián Đoạn
Với sự phát triển nhanh chóng của các trò chơi trực tuyến, việc duy trì [...]
Blog
Tuyển Đại lý dịch vụ Cloud – Chiết khấu đến 35%
Cloudzone tuyển đại lý dịch vụ Cloud, Data Center với lợi nhuận không giới hạn, [...]