Một liên kết trong hệ thống dựa trên UNIX được sử dụng để thiết lập kết nối giữa một tệp và dữ liệu thực tế trên đĩa. Nó giống như một con trỏ hoặc một tham chiếu trỏ đến một tệp hoặc thư mục khác, giống như khái niệm về con trỏ trong các ngôn ngữ lập trình.
Giả sử một tệp có tên rất dài và vì một số lý do, nó không thể thay đổi. Trong UNIX, chúng ta có thể tham chiếu tệp có tham chiếu bằng tên ngắn hơn để dễ sử dụng. Các tham chiếu đến cùng một tệp trong UNIX được gọi là các liên kết. Nói một cách đơn giản, một liên kết là một phương tiện để chỉ nội dung của một tập tin.
Có hai loại liên kết được sử dụng trong UNIX: Liên kết mềm và Liên kết cứng. Cả hai đều được sử dụng về cơ bản cho cùng một mục đích ngoại trừ cách họ cư xử.
Liên kết mềm, hoặc màu hồng tượng trưng, là một tệp con trỏ nhỏ liên kết tên tệp với tên đường dẫn. Nó không là gì ngoài một phím tắt đến tệp gốc, tương tự như tùy chọn phím tắt trong các hệ điều hành Windows. Nó chỉ đơn giản là tham chiếu đến một tệp hoặc thư mục khác mà không có nội dung thực sự của tệp giúp bạn dễ dàng xóa các liên kết mềm mà không ảnh hưởng đến nội dung của tệp gốc hoặc thư mục.
Nói một cách đơn giản, một liên kết mềm thường là bí danh cho tệp gốc chuyển hướng đến tệp đích hoặc thư mục khi được truy cập thông qua tên đường dẫn được chỉ định trong chủ đề của liên kết mềm. Ngoài ra, bạn có thể sử dụng các liên kết mềm để liên kết trên hệ thống tập tin.
Liên kết cứng chỉ đơn giản là một bản sao của tệp gốc đóng vai trò tham chiếu hoặc con trỏ tới cùng một tệp, do đó giúp dễ dàng truy cập ngay cả tệp gốc bị xóa hoặc di chuyển khỏi vị trí ban đầu. Không giống như các liên kết mềm, các thay đổi được thực hiện đối với các tệp được liên kết cứng sẽ có hiệu lực đối với các tệp khác và liên kết cứng vẫn hoạt động ngay cả khi bạn xóa tệp nguồn khỏi hệ thống.
Liên kết cứng chia sẻ cùng một giá trị Inode và không giống như các liên kết mềm, chúng trỏ đến vị trí tệp thay vì thư mục. Nó thường được sử dụng trong các hệ thống tệp cho phép nhiều hơn trên liên kết cứng cho cùng một tệp. Nói một cách đơn giản, một liên kết cứng chỉ là một tên bổ sung cho một tệp đã có trên các hệ thống dựa trên UNIX.
Một liên kết mềm, còn được gọi là liên kết tượng trưng, là một con trỏ đặc biệt thiết lập các liên kết giữa các tệp. Nó rất giống với tính năng phím tắt có sẵn trong các hệ điều hành Windows. Một liên kết mềm đơn giản là một phím tắt của một tệp phục vụ như một tham chiếu đến một tệp hoặc thư mục khác. Một liên kết cứng rất khác so với một liên kết mềm. Nó phục vụ như một tham chiếu hoặc con trỏ đến tệp gốc có nghĩa là nó là bản sao chính xác của tệp gốc mà nó đang trỏ tới. Nói một cách đơn giản, một liên kết cứng chỉ là một tên bổ sung cho một tệp đã tồn tại.
Vì một tệp được liên kết mềm chứa một giá trị Inode riêng chỉ vào tệp gốc, liên kết sẽ không thể truy cập được nếu tệp gốc hoặc thư mục bị xóa khỏi hệ thống. Nó chỉ là một lối tắt đến một tập tin để bạn có thể xóa các liên kết mềm mà không thực sự ảnh hưởng đến tập tin hoặc thư mục gốc. Không giống như các liên kết mềm, các liên kết cứng chia sẻ cùng một giá trị Inode như bản gốc trỏ đến cùng một vị trí tệp. Liên kết cứng linh hoạt hơn liên kết mềm vì bạn có thể truy cập tệp ngay cả khi tệp gốc bị xóa khỏi hệ thống.
Để thiết lập các liên kết giữa các tệp trong hệ thống dựa trên UNIX, bạn cần sử dụng lệnh trong In. Một liên kết mềm đề cập đến một đường dẫn tượng trưng cho biết vị trí của tệp gốc nhưng không phải là nội dung. Một liên kết mềm được tạo bằng cách sử dụng lệnh trong.
Trong -s
Tại đây, bạn sẽ thay thế 'source_file' bằng tệp gốc mà bạn muốn tạo liên kết mềm và 'myfile' bằng tên của liên kết mềm hoặc liên kết tượng trưng và lệnh In -s tạo liên kết mềm đến tệp Tên, cả hai trong thư mục hiện tại.
Mặt khác, lệnh của In Trong được sử dụng để tạo một liên kết cứng. Lệnh In là một lệnh UNIX tiêu chuẩn được sử dụng để tạo một liên kết cứng để trỏ đến nhiều tệp có cùng tên.
Trong
Không giống như các liên kết mềm có thể được sử dụng để liên kết cả tệp và thư mục, liên kết cứng chỉ có thể liên kết tệp chứ không phải liên kết thư mục. Sự khác biệt mang đến cho các liên kết mềm những phẩm chất nhất định mà các liên kết cứng không có, chẳng hạn như khả năng liên kết trên hệ thống tập tin. Tạo và xóa các liên kết tượng trưng sẽ không ảnh hưởng đến tệp gốc. Mặt khác, các liên kết cứng không thể được sử dụng để liên kết các tệp bên ngoài hệ thống tệp. Liên kết cứng chia sẻ cùng một giá trị Inode với nội dung tệp thực tế nên việc xóa bất kỳ liên kết nào sẽ không ảnh hưởng đến các liên kết khác và nó sẽ vẫn hiển thị nội dung của tệp.
Tóm lại, cả liên kết mềm và liên kết cứng đều cho phép nhiều hơn một tên tệp tham chiếu đến cùng một tệp ở một nơi khác, nhưng sự khác biệt nằm ở cách chúng hoạt động khi liên kết nguồn bị xóa khỏi hệ thống. Liên kết cứng chiếm ít không gian hơn liên kết mềm nhưng mọi thay đổi được thực hiện đối với liên kết cứng cuối cùng sẽ phản ánh trong tệp gốc, trong khi mọi thay đổi đối với liên kết mềm sẽ không có bất kỳ ảnh hưởng nào đến tệp gốc. Liên kết mềm giống như một tính năng phím tắt của hệ điều hành Windows được sử dụng làm bí danh để chỉ tệp hoặc thư mục gốc, trong khi liên kết cứng giống như một bản sao của tệp gốc liên kết hai tệp trong cùng một hệ thống tệp.