Cách tạo liên kết tượng trưng (Symlinks) trong Linux


Linux không có phím tắt nhưng nó có Liên kết tượng trưng – hoặc Liên kết tượng trưng, ​​như chúng thường được gọi. Nhưng chính xác thì liên kết tượng trưng là gì? Và làm thế nào để bạn tạo ra một cái? Hãy cùng tìm hiểu.

Chúng tôi sẽ thử các lệnh trên cài đặt Ubuntu, mặc dù cú pháp hoạt động tương tự trên tất cả các bản phân phối Linux. Thật thú vị, liên kết tượng trưng cũng có thể được tạo trên PC Mac.

Liên kết tượng trưng là gì?

Nếu bạn muốn có thể truy cập một tệp từ nhiều vị trí, chỉ sao chép tệp đó không phải là giải pháp tốt. Bạn đang lãng phí dung lượng ổ đĩa, chưa kể gây khó khăn cho việc theo dõi các thay đổi do có nhiều tệp.

Trong hệ điều hành dựa trên GUI, bạn sẽ khắc phục được vấn đề này bằng cách tạo các phím tắt. Đối với hệ điều hành dựa trên CUI (như bất kỳ bản phân phối Linux nào ), câu trả lời là một liên kết tượng trưng. Ngay cả Microsoft Windows cũng có thể tận dụng các liên kết tượng trưng trong một số tình huống.

Liên kết tượng trưng hoặc liên kết tượng trưng chỉ là một tệp trỏ đến một tệp hoặc thư mục khác – ngay cả trong một hệ thống tệp hoặc phân vùng hoàn toàn khác. Việc mở liên kết tượng trưng sẽ cho phép bạn truy cập vào cùng một tệp gốc và mọi thay đổi cũng được phản ánh trong tệp chính.

Điều này cũng áp dụng cho các quyền – sử dụng chmod để thay đổi quyền của tệp liên kết tượng trưng sẽ thực sự sửa đổi quyền của tệp đích.

Các loại liên kết tượng trưng

Liên kết tượng trưng còn được gọi là liên kết mềm. Như tên có thể gợi ý, đây không phải là loại hệ thống liên kết tệp duy nhất trên Linux. Liên kết cứng có thể được sử dụng thay thế cho liên kết tượng trưng trong một số trường hợp nhất định, mặc dù có một số hạn chế.

Đầu tiên,liên kết cứngchỉ đơn giản là tên tệp trỏ đến cùng một inode. Mặc dù điều này làm cho chúng rất hiệu quả về mặt lưu trữ và tốc độ truy cập, nhưng nó cũng giới hạn chúng ở các tệp trong cùng hệ thống tệp hoặc phân vùng. Và do lỗi cách truy cập thư mục hoạt động trong Linux nên bạn cũng không thể sử dụng liên kết cứng cho các thư mục.

Mặt khác, liên kết mềm hoặc liên kết tượng trưnglại giống lối tắt trên màn hình hơn. Mỗi liên kết mềm về cơ bản là một tệp nhỏ trỏ đến dữ liệu gốc mà không thực sự được liên kết trực tiếp với nó. Điều này có nghĩa là các liên kết mềm có thể dễ dàng trỏ đến các tệp và thư mục trên các phân vùng và hệ thống tệp khác mà không có bất kỳ hạn chế nào.

Liên kết cứng và Liên kết mềm – Nên sử dụng loại nào?.

Liên kết mềm là dạng liên kết linh hoạt nhất vì chúng có thể được sử dụng trên cả tệp và thư mục trên nhiều hệ thống tệp mà không có bất kỳ hạn chế nào. Nhưng tại sao chúng ta lại có liên kết cứng? Chúng có mang lại cho bạn bất kỳ lợi thế nào so với liên kết tượng trưng không?

Trên lý thuyết, liên kết cứng hiệu quả hơn. Bởi vì chúng sử dụng cùng các nút nên chúng không chiếm thêm dung lượng ổ đĩa và có thể được truy cập nhanh hơn nhiều so với các liên kết mềm. Đây là lý do tại sao nhiều quản trị viên hệ thống khuyên bạn nên sử dụng liên kết cứng bất cứ khi nào có thể.

Tuy nhiên, như đã nói, nhược điểm của việc sử dụng liên kết tượng trưng là rất nhỏ. Các máy tính hiện đại đặc biệt không thực sự quan tâm đến vài kilobyte dung lượng lưu trữ bổ sung và trừ khi bạn lấp đầy hệ thống bằng hàng triệu liên kết mềm, kích thước tệp bổ sung hiếm khi quan trọng.

Tạo liên kết tượng trưng

Liên kết tượng trưng – hay đúng hơn là liên kết tệp nói chung – được tạo bằng lệnh ln. Theo mặc định, lệnh tạo liên kết cứng. Để tạo liên kết tượng trưng, ​​​​bạn cần gắn cờ -s vào lệnh ln.

Cú pháp khá đơn giản. Lệnh ln có hai tham số – đường dẫn của tệp (hoặc thư mục) được liên kết đến và đường dẫn của tệp liên kết sẽ được tạo.

Như thế này:

ln -s tên user_names.txt

Điều này sẽ tạo ra một liên kết tượng trưng được gọi là tên được kết nối với tệp văn bản user_names. Để xem liên kết tượng trưng có thực sự được tạo hay không, chỉ cần sử dụng lệnh ls.

Như bạn có thể thấy, Ubuntu hiển thị các màu khác nhau cho các danh mục tệp khác nhau, với các thư mục được biểu thị bằng màu xanh đậm và các liên kết tượng trưng có màu xanh lam nhạt hơn (thực tế là màu lục lam).

Chúng ta cũng có thể sử dụng cú pháp tương tự để tạo liên kết tượng trưng cho thư mục:

ln -s ví dụ example_folder

Để tạo liên kết tượng trưng đến các tập tin và thư mục trong các thư mục khác, chỉ cần sử dụng đường dẫn đầy đủ của chúng. Ví dụ:

ln -s ví dụ/example3.txt xa_example

Hạn chế của liên kết tượng trưng

Liên kết tượng trưng là một cách tuyệt vời để kết nối các tệp trên hệ thống của bạn mà không cần phải tạo bản sao nhưng chúng có những hạn chế riêng. Có, mặc dù liên kết mềm ít hạn chế hơn liên kết cứng nhưng vẫn có một số điều cần lưu ý..

Đầu tiên, lệnh ln không thực sự xác minh các liên kết được tạo. Điều này có nghĩa là có thể nhập tên tệp không thực sự tồn tại và bạn sẽ không gặp bất kỳ lỗi nào. Cách duy nhất để xác nhận liên kết là thử sử dụng nó và xem liệu nó có dẫn đến đúng tệp hay không.

Thứ hai, trong khi việc truy cập hoặc thay đổi quyền của liên kết tượng trưng sẽ làm thay đổi các thuộc tính của tệp gốc, thì việc xóa tệp cũng không xảy ra. Bạn có thể xóa liên kết tượng trưng một cách an toàn mà không ảnh hưởng đến tập tin hoặc thư mục được liên kết.

Tạo liên kết tượng trưng trong Linux

Khó khăn lớn nhất khi sử dụng thiết bị đầu cuối để tạo liên kết tượng trưng là khó khăn trong việc truy cập các tệp quan trọng trải rộng trên nhiều thư mục khác nhau. Giải pháp thông minh là tạo các liên kết tượng trưng đến các tệp như vậy từ chính thư mục chính của bạn, chẳng hạn như các lối tắt trên màn hình.

Và không giống như liên kết cứng, liên kết tượng trưng có thể được tạo dễ dàng mà không có bất kỳ hạn chế nào, ngay cả khi kết nối với các thư mục hoặc tệp trong các phân vùng và hệ thống tệp khác nhau. Hãy nhớ rằng điều này cũng có nghĩa là một liên kết tượng trưng có thể trỏ đến một tệp không tồn tại – bạn sẽ phải thử truy cập vào liên kết để xác minh xem tệp đó có tồn tại hay không.

.

bài viết liên quan:


10.05.2023