Soft Link and Hard Link
3 posters
Trang 1 trong tổng số 1 trang
Soft Link and Hard Link
- Trước tiên, chúng ta đi tìm hiểu ý nghĩa của chúng là gì?
Soft Link:loại liên kết mềm là một tập tin chỉ chứa các thông tin trỏ đến tập tin vật lý, tập tin liên kết mềm không tham chiếu trực tiếp đến điểm nhập i-node của tập tin vật lý mà nó trỏ đến, và đây chính là khái niệm lối tắt (shortcut) của Windows. Chính vì lý do đó mà khi ta xóa tập tin vật lý ban đầu thì liên kết sẽ mất hiệu lực, thông tin đường dẫn sẽ không còn điểm trỏ đến. Nhưng một khi ta tạo lại một tập tin cùng tên nằm tại vị trí của tập tin vật lý cũ thì lối tắt mềm có hiệu lực trở lại.
Tập tin liên kết mềm là:.LNK
Hard link: là một liên kết trong cùng một tập tin với các inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu). Mọi thao tác trên lối tắt cứng cũng giống như thao tác trên tập tin vật lý. Điều này có ưu điểm là tạo ra nhiều bản sao tập tin trong nhiều cấp thư mục khác nhau nhưng nội dung thì chỉ có một trên đĩa cứng. Tuy nhiên, cho dù bạn có biết vị trí của tập tin vật lý và xóa nó đi chăng nữa thì các liên kết cứng khác vẫn có hiệu lực, tập tin vật lý chỉ thật sự bị xóa khi mà tất cả các liên kết cứng khác cũng bị xóa. Khi thay đổi nội dung của file này thì file kia cũng sẽ thay đổi theo như thế. Chính vì thế có lẽ mục đích chính của nó là dùng để đồng bộ dữ liệu khi có nhiều user tương tác đến nó.
- Ưu và nhược điểm của chúg
1.Liên kết cứng
Mỗi tập tin trong Linux có một “chỉ số ký hiệu” (index descriptor) tương ứng, hay còn gọi là “inode”
Tên của bất kỳ tập tin nào trong Linux chính là liên kết đến chỉ số inode của tập tin
Vì thế mỗi tập tin có thể có bao nhiêu tên tùy thích. Những tên này còn được gọi là liên kết “cứng” (hard link)
Có vẻ như chúng ta đang có nhiều cái tên cho 1 file. Khi truy xuất và chỉnh sửa file từ một hardlink thì những hardlink khác cũng được đồng bộ hóa theo. Dễ hiểu là vì chúng đều trỏ tới 1 chỉ số inode-đại diện thực sự cho một file có trong hệ thống
Ý nghĩa của hard link là chúng ta có thể truy xuất 1 file từ nhiều chỗ khác nhau. Dùng từ “đồng bộ” thì có lẽ không chính xác. Vì chúng ta chỉ có 1 fle duy nhất
Lệnh ls với tham số -l sẽ cho chúng ta biết có bao nhiêu hard link cùng trỏ tới 1 file. Nói cách khác : File đang muốn kiểm tra có bao nhiêu tên
VD:
ls -l ~/Desktop/Linux
và ta thu được :
drwxrwxrwx 2 tuyetkiem tuyetkiem 5028940 2009-03-25 18:10 ~/Desktop/Linux
Số 2 đứng trước “tuyetkiem” chính là số hard link của thư mục Linux
Lệnh ls với tham số -i cho chúng ta biết chỉ số inode của 1 file.
VD:
ls -i ~/Desktop/Linux
Và ta thu được :
171017 /home/tuyetkiem/Desktop/Linux
Chỉ số inode của thư mục Linux ở đây là 171017
Hãy chọn 1 file có dung lượng lớn 1, 2 GB để thấy rõ sự không thay đổi dung lượng ổ đĩa trước và sau khi tạo 1 hard link
Lệnh ln sẽ tạo ra 1 tên file mới, ở một vị trí mới
VD :
ln ~/file1 ~/Desktop/file2
Trong ví dụ trên nếu file1 không có hard link nào nữa thì ta có 2 liên kết đến chỉ số inode của file1.
Có thể xóa 1 hard link mà không ảnh hưởng gì đến hard link khác. File chỉ bị xóa khi mọi hard link dẫn đến chỉ số inode bị xóa.
2. Liên kết mềm
Thay vì tạo ra một đường dẫn đến chỉ số inode của 1 file chúng ta có thể tạo ra 1 liên kết mềm. Khái niệm symlink cũng tương tự như khái niệm shortcut bên Windows. Một symlink là 1 file thực sự, nhưng trỏ đến hard link gốc đã tạo ra nó.
Xóa một symlink không ảnh hưởng đến hard link gốc. Thay đổi nội dung symlink sẽ làm thay đổi hardlink gốc hay thay đổi file. Nhưng xóa hardlink gốc thì symlink sẽ không còn giá trị
Lệnh ln với tham số -s sẽ tạo ra 1 symlink
VD :
ln -s ~/a ~/Desktop/b
Câu lệnh trên tạo ra một symlink của file a, tên symlink này là b, đặt ở desktop.
Vài lưu ý :
-Thay đổi nội dung 1 file không làm thay đổi chỉ số inode của file đó
-Trong ví dụ trên : b tất nhiên là hard link của 1 file thực sự. Do đó có thể tạo ra các hard link cho b. Mọi hard link tạo từ b đều là symlink của a. Chỉ số inode của b rõ ràng khác của a. Như vậy khái niệm hard link và symlink là hết sức tương đối.
- Không thể tạo ra một hard link cho một thư mục. Cũng không tạo ra 1 hard link cho 1 file nằm ở một phân vùng khác. Đối với symlink thì có thể tạo thoải mái
-Trong bài viết đối tượng mà tôi đề cập đến là file. Tuy nhiên tôi lại thường xuyên đưa “thư mục” vào các ví dụ. Thực ra trong hệ thống file linux. “Thư mục” cũng chỉ là một file “bình thường”. “File” này chứa danh sách về các “file khác” và cho phép truy xuất đến các file trong danh sách mà nó chứa. Khác biệt ở đây là hệ thống có phân biệt 1 file “thư mục”
Soft Link:loại liên kết mềm là một tập tin chỉ chứa các thông tin trỏ đến tập tin vật lý, tập tin liên kết mềm không tham chiếu trực tiếp đến điểm nhập i-node của tập tin vật lý mà nó trỏ đến, và đây chính là khái niệm lối tắt (shortcut) của Windows. Chính vì lý do đó mà khi ta xóa tập tin vật lý ban đầu thì liên kết sẽ mất hiệu lực, thông tin đường dẫn sẽ không còn điểm trỏ đến. Nhưng một khi ta tạo lại một tập tin cùng tên nằm tại vị trí của tập tin vật lý cũ thì lối tắt mềm có hiệu lực trở lại.
Tập tin liên kết mềm là:.LNK
Hard link: là một liên kết trong cùng một tập tin với các inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu). Mọi thao tác trên lối tắt cứng cũng giống như thao tác trên tập tin vật lý. Điều này có ưu điểm là tạo ra nhiều bản sao tập tin trong nhiều cấp thư mục khác nhau nhưng nội dung thì chỉ có một trên đĩa cứng. Tuy nhiên, cho dù bạn có biết vị trí của tập tin vật lý và xóa nó đi chăng nữa thì các liên kết cứng khác vẫn có hiệu lực, tập tin vật lý chỉ thật sự bị xóa khi mà tất cả các liên kết cứng khác cũng bị xóa. Khi thay đổi nội dung của file này thì file kia cũng sẽ thay đổi theo như thế. Chính vì thế có lẽ mục đích chính của nó là dùng để đồng bộ dữ liệu khi có nhiều user tương tác đến nó.
- Ưu và nhược điểm của chúg
1.Liên kết cứng
Mỗi tập tin trong Linux có một “chỉ số ký hiệu” (index descriptor) tương ứng, hay còn gọi là “inode”
Tên của bất kỳ tập tin nào trong Linux chính là liên kết đến chỉ số inode của tập tin
Vì thế mỗi tập tin có thể có bao nhiêu tên tùy thích. Những tên này còn được gọi là liên kết “cứng” (hard link)
Có vẻ như chúng ta đang có nhiều cái tên cho 1 file. Khi truy xuất và chỉnh sửa file từ một hardlink thì những hardlink khác cũng được đồng bộ hóa theo. Dễ hiểu là vì chúng đều trỏ tới 1 chỉ số inode-đại diện thực sự cho một file có trong hệ thống
Ý nghĩa của hard link là chúng ta có thể truy xuất 1 file từ nhiều chỗ khác nhau. Dùng từ “đồng bộ” thì có lẽ không chính xác. Vì chúng ta chỉ có 1 fle duy nhất
Lệnh ls với tham số -l sẽ cho chúng ta biết có bao nhiêu hard link cùng trỏ tới 1 file. Nói cách khác : File đang muốn kiểm tra có bao nhiêu tên
VD:
ls -l ~/Desktop/Linux
và ta thu được :
drwxrwxrwx 2 tuyetkiem tuyetkiem 5028940 2009-03-25 18:10 ~/Desktop/Linux
Số 2 đứng trước “tuyetkiem” chính là số hard link của thư mục Linux
Lệnh ls với tham số -i cho chúng ta biết chỉ số inode của 1 file.
VD:
ls -i ~/Desktop/Linux
Và ta thu được :
171017 /home/tuyetkiem/Desktop/Linux
Chỉ số inode của thư mục Linux ở đây là 171017
Hãy chọn 1 file có dung lượng lớn 1, 2 GB để thấy rõ sự không thay đổi dung lượng ổ đĩa trước và sau khi tạo 1 hard link
Lệnh ln sẽ tạo ra 1 tên file mới, ở một vị trí mới
VD :
ln ~/file1 ~/Desktop/file2
Trong ví dụ trên nếu file1 không có hard link nào nữa thì ta có 2 liên kết đến chỉ số inode của file1.
Có thể xóa 1 hard link mà không ảnh hưởng gì đến hard link khác. File chỉ bị xóa khi mọi hard link dẫn đến chỉ số inode bị xóa.
2. Liên kết mềm
Thay vì tạo ra một đường dẫn đến chỉ số inode của 1 file chúng ta có thể tạo ra 1 liên kết mềm. Khái niệm symlink cũng tương tự như khái niệm shortcut bên Windows. Một symlink là 1 file thực sự, nhưng trỏ đến hard link gốc đã tạo ra nó.
Xóa một symlink không ảnh hưởng đến hard link gốc. Thay đổi nội dung symlink sẽ làm thay đổi hardlink gốc hay thay đổi file. Nhưng xóa hardlink gốc thì symlink sẽ không còn giá trị
Lệnh ln với tham số -s sẽ tạo ra 1 symlink
VD :
ln -s ~/a ~/Desktop/b
Câu lệnh trên tạo ra một symlink của file a, tên symlink này là b, đặt ở desktop.
Vài lưu ý :
-Thay đổi nội dung 1 file không làm thay đổi chỉ số inode của file đó
-Trong ví dụ trên : b tất nhiên là hard link của 1 file thực sự. Do đó có thể tạo ra các hard link cho b. Mọi hard link tạo từ b đều là symlink của a. Chỉ số inode của b rõ ràng khác của a. Như vậy khái niệm hard link và symlink là hết sức tương đối.
- Không thể tạo ra một hard link cho một thư mục. Cũng không tạo ra 1 hard link cho 1 file nằm ở một phân vùng khác. Đối với symlink thì có thể tạo thoải mái
-Trong bài viết đối tượng mà tôi đề cập đến là file. Tuy nhiên tôi lại thường xuyên đưa “thư mục” vào các ví dụ. Thực ra trong hệ thống file linux. “Thư mục” cũng chỉ là một file “bình thường”. “File” này chứa danh sách về các “file khác” và cho phép truy xuất đến các file trong danh sách mà nó chứa. Khác biệt ở đây là hệ thống có phân biệt 1 file “thư mục”
Được sửa bởi nguyenthiphuongchi ngày 12/5/2009, 16:32; sửa lần 1.
nguyenthiphuongchi- Tổng số bài gửi : 57
Join date : 24/02/2009
Re: Soft Link and Hard Link
Link tham khảo thêm:
http://totuan.one-forum.net/h7879-272i7873u-hanh-f4/soft-link-hard-link-t307.htm
Chúc các bạn thi tốt!
http://totuan.one-forum.net/h7879-272i7873u-hanh-f4/soft-link-hard-link-t307.htm
Chúc các bạn thi tốt!
hongntt- Tổng số bài gửi : 32
Join date : 20/02/2009
Re: Soft Link and Hard Link
cau tra loi cua ban kha day du , nhung con ap dung trong doi song thi sao ? minh nghi no giong nhu lan giai thich truoc cua thay, trong 1 cong ty co nhieu cong nhan khi can thong bao thi ta chi can dan ban thong bao thi tat ca moi nguoi deu biet ma ko can truyen to thong bao den nhieu nguoi, va khi can sua doi thi ta cung chi can sua doi ban thong bao ma thoi. Mong cac ban gop y them
tranmongthuy- Tổng số bài gửi : 17
Join date : 19/02/2009
Similar topics
» Trong Linux, so sánh Soft Link vớI Hard Link và trình bày cách tạo lập.
» Trong Linux, so sánh Soft Link vớI Hard Link và trình bày cách tạo lập.
» Phân biệt Soft Link và Hard Link
» Phân biệt Soft Link và Hard Link
» Link này khá hay tặng các bạn nè!!!!!!!!!!!!!!!!
» Trong Linux, so sánh Soft Link vớI Hard Link và trình bày cách tạo lập.
» Phân biệt Soft Link và Hard Link
» Phân biệt Soft Link và Hard Link
» Link này khá hay tặng các bạn nè!!!!!!!!!!!!!!!!
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết