Như tiêu đề đã nói, tôi muốn biết sự khác biệt giữa liên kết cứng và liên kết mềm được tạo bởi lệnh ln. Lệnh man lnkhông cung cấp thông tin, nhưng không trả lời đầy đủ câu hỏi của tôi.Bạn đang xem: Symbolic link là gì
Ngoài ra, thật tuyệt nếu ai đó có thể cung cấp một cài đặt trong đó liên kết cứng có thể thích hợp hơn liên kết tượng trưng.
Đang xem: Làm thế nào Để tạo symbolic link là gì, thế nào là hard link và symbolic link
một trong những khác biệt … bạn có một số tệp, ví dụ kiểm tra tệp. Nếu bạn tạo liên kết kiểm tra ln, hãy tạo liên kết kiểm tra ln -s và sau đó di chuyển kiểm tra tệp sang thư mục khác (hoặc đổi tên), symlink sẽ không hoạt động. Hardlink sẽ hoạt động. Bây giờ hãy thử xóa kiểm tra tập tin. Hardlink vẫn sẽ hoạt động, trên thực tế, bạn vẫn có thể truy cập tệp cho đến khi số lượng liên kết cứng đến tệp không phải là 0. Đó là do inodes, nó được viết bằng tay … Tôi đã mở lại điều này bởi vì nó xứng đáng có một câu trả lời chung chung về vấn đề này (không giống như câu hỏi trước đó là một ví dụ C tối nghĩa).
Trong Linux / Unix, Phím tắt được gọi là Liên kết
Liên kết có hai loại: liên kết mềm (liên kết tượng trưng) hoặc liên kết cứng.
Liên kết mềm (liên kết tượng trưng)
Bạn có thể tạo liên kết đến tệp và thư mục và bạn có thể tạo liên kết (phím tắt) trên phân vùng khác nhau và với số inode khác với bản gốc.
Nếu bản sao thực sự bị xóa, liên kết sẽ không hoạt động .
Liên kết cứng
Liên kết cứng chỉ dành cho các tập tin; bạn không thể liên kết đến một tệp trên phân vùng khác với số inode khác nhau.
Nếu bản sao thực sự bị xóa, liên kết sẽ hoạt động , bởi vì nó truy cập dữ liệu cơ bản mà bản sao thực sự đang truy cập.
Câu hỏi: Làm thế nào để tôi tạo liên kết mềm?
Trả lời: Một liên kết mềm có thể được thực hiện với ln -s; đầu tiên bạn cần xác định nguồn và sau đó bạn cần xác định đích. (Hãy nhớ rằng bạn cần xác định đường dẫn đầy đủ của cả nguồn và đích; nếu không nó sẽ không hoạt động.)
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib32/libGL.so.1 (———-Source——-) ( Destination )
Câu hỏi: Làm thế nào để tôi tạo liên kết cứng?
Trả lời: Một liên kết cứng có thể được thực hiện với ln; đầu tiên bạn cần xác định nguồn và sau đó bạn cần xác định đích. (Hãy nhớ rằng bạn cần xác định đường dẫn đầy đủ của cả nguồn và đích; nếu không nó sẽ không hoạt động.)
Hãy nói rằng tôi có một tập lệnh trong /scriptthư mục có tên firefox.
ls -i # Shows you the inode 5898242 firefox ln /scripts/firefox /scripts/on-fire ( Source ) ( Destination )
Như bạn có thể thấy, nó có cùng một nút. Nếu tôi xóa bản gốc, liên kết sẽ hoạt động và nó sẽ hoạt động như bản gốc.
Ở trên tôi kiểm tra xem liên kết có hoạt động không, rồi xóa tập lệnh firefox gốc.
Câu hỏi của bạn: Sẽ thật tuyệt nếu ai đó có thể cung cấp một cài đặt trong đó liên kết cứng có thể thích hợp hơn liên kết tượng trưng.
Xem thêm: Hợp Đồng “Dự Án Chìa Khóa Trao Tay” (Lump Sum Turnkey Project Là Gì ?
Mặt khác, một liên kết mềm có thể trỏ đến các thư mục hoặc tệp (+1 điểm) và không có giới hạn phân vùng (+1 điểm), nhưng (-1 điểm) nếu nguồn bị xóa, liên kết sẽ không hoạt động.