Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Phần Mềm

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

Linux không có phím tắt (shortcuts), nhưng nó có Symbolic Links – hay gọi tắt là Symlinks. Vậy symbolic links là gì? Và làm thế nào để tạo một? Hãy cùng tìm hiểu.

Chúng ta sẽ thử các lệnh trên cài đặt Ubuntu, tuy nhiên cú pháp hoạt động giống nhau trên tất cả các bản phân phối Linux. Thú vị thay, symlinks cũng có thể được tạo trên Mac.

Symbolic Links là gì?

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

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

Một symlink hay symbolic link chỉ là một tệp trỏ đến tệp hoặc thư mục khác – thậm chí trong hệ thống tệp hoặc phân vùng hoàn toàn khác. Mở symlink cho phép truy cập cùng tệp gốc, mọi thay đổi đều phản ánh trong tệp chính.

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

Các loại Symlinks

Symbolic links còn được gọi là soft links (liên kết mềm). Như tên 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. Hard links (liên kết cứng) có thể dùng như替代 cho symlinks trong một số tình huống, tuy nhiên đi kèm nhiều hạn chế.

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

Thứ nhất, hard links đơn giản là tên tệp trỏ đến cùng inode. Mặc dù điều này làm cho chúng rất hiệu quả về lưu trữ và tốc độ truy cập, nhưng cũng giới hạn chúng chỉ dùng cho tệp trong cùng hệ thống tệp hoặc phân vùng. Và do đặc th cách hoạt động của quyền truy cập thư mục trong Linux, bạn không thể dùng hard links cho thư mục.

Soft links hay Symbolic links, mặt khác, giống hơn với phím tắt trên màn hình máy tính. Mỗi soft link về cơ bản là một tệp nhỏ trỏ đến dữ liệu gốc, mà không liên kết trực tiếp với nó. Điều này nghĩa là soft links có thể dễ dàng trỏ đến 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 bị giới hạn.

Hard Links VS Soft Links – Nên dùng loại nào?

Soft links là dạng liên kết linh hoạt nhất vì có thể dùng cho cả tệp và thư mục trên nhiều hệ thống tệp mà không hạn chế. Nhưng tại sao lại có hard links? Chúng có ưu điểm gì so với symlinks?

Trên giấy tờ, hard links hiệu quả hơn. Vì dùng chung inode, chúng không chiếm dung lượng ổ cứng thêm và truy cập nhanh hơn soft links. Đó là lý do nhiều quản trị hệ thống khuyên dùng hard links khi có thể.

Tuy nhiên, nhược điểm của symbolic links là tối thiểu. Máy tính hiện đại đặc biệt không quan tâm đến vài kilobyte lưu trữ thêm, và trừ khi bạn lấp đầy hệ thống bằng triệu soft links, kích thước tệp thêm gần như không quan trọng.

Tạo Symbolic Links

Symbolic links – hay nói chính xác hơn, các liên kết tệp nói chung – được tạo bằng lệnh ln. Mặc định, lệnh này tạo hard links. Để tạo symbolic link, bạn cần thêm cờ -s vào lệnh ln.

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

Ví dụ:

ln -s user_names.txt names

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

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

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

Như bạn thấy, Ubuntu hiển thị màu khác nhau cho các loại tệp, thư mục màu xanh đậm và symlinks màu xanh nhạt hơn (cyan thực tế).

Chúng ta có thể dùng cùng cú pháp để tạo symlink cho thư mục:

ln -s examples example_folder

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

Để tạo symlinks cho tệp và thư mục trong thư mục khác, chỉ cần dùng đường dẫn đầy đủ. Ví dụ:

ln -s examples/example3.txt distant_example

Tạo Symbolic Links (Symlinks) trong Linux – Hướng dẫn thực tế từng bước

Hạn chế của Symlinks

Symbolic links là cách tuyệt vời để kết nối tệp trên hệ thống không cần sao chép, nhưng chúng có hạn chế riêng. Dù soft links kém hạn chế hơn hard links, vẫn có điều cần lưu ý.

Thứ nhất, lệnh ln không thực sự xác minh các liên kết được tạo. Nghĩa là có thể nhập tên tệp không tồn tại, và bạn sẽ không nhận được lỗi. Cách duy nhất xác nhận liên kết là thử sử dụng nó xem có dẫn đến tệp đúng không.

Thứ hai, dù truy cập hoặc thay đổi quyền của symlink thay đổi thuộc tính tệp gốc, nhưng xóa tệp thì không. Bạn có thể xóa an toàn symbolic link mà không ảnh hưởng đến tệp hoặc thư mục được liên kết.

Tạo Symlinks trong Linux

Khó khăn lớn nhất khi dùng terminal tạo symbolic links là truy cập các tệp quan trọng rải rác trên nhiều thư mục. Giải pháp thông minh là tạo symbolic links đến các tệp đó từ chính thư mục home, như phím tắt màn hình.

Khác với hard links, symlinks có thể tạo dễ dàng không bị hạn chế, ngay cả kết nối thư mục hoặc tệp trên phân vùng và hệ thống tệp khác. Hãy nhớ rằng điều này cũng nghĩa là symlink có thể trỏ đến tệp không tồn tại – bạn phải thử truy cập liên kết để xác minh tệp có tồn tại.