Symlink là gì?
Symbolic link (hay thường được gọi là Symlink) là liên kết tượng trưng hay liên kết mềm, một loại tệp đặc biệt dùng để thực thi liên kết các thư mục riêng lẻ với nhau. Các liên kết sẽ chỉ trỏ đến vị trí thực của chúng.
Các loại Symbolic Links
Có hai loại liên kết tượng trưng chính trong hệ thống Linux/UNIX là Hard links (liên kết cứng) và Soft links (liên kết mềm).
- Hard links: Loại liên kết cứng này hiểu đơn giản là một tên mới được đặt cho một tệp hoặc thư mục bất kỳ. Bạn có thể tạo một hoặc nhiều liên kết cứng cho một tệp nhưng không thể tạo cho các tệp nằm ở vị trí khác nhau.
- Soft links: Loại liên kết mềm này giống như một phím tắt trên Windows. Khi bạn mở một biểu tượng nào đó trên Windows, nó sẽ tự động liên kết tới phần mềm và chạy. Bạn có thể liên kết các tệp nằm ở vị trí khác nhau trên hệ thống.
Ngay sau đây, BKHOST sẽ hướng dẫn bạn chi tiết cách tạo liên kết tượng trưng trong Linux bằng lệnh Ln.
Cách sử dụng lệnh ln để tạo Symbolic Link trong Linux
Lệnh Ln trong Linux cho phép người dùng tạo liên kết giữa các tệp khác nhau vào một thư mục. Lệnh Ln mặc định sẽ tạo ra các liên kết cứng. Để tạo liên kết tượng trưng, hãy sử dụng tùy chọn -s (–symbolic).
Để tạo liên kết tượng trưng, chọn cú pháp lệnh Ln:
{{EJS0}}
Trong đó:
- Nếu cả File và LINK đều được cung cấp thì lệnh Ln sẽ tạo một liên kết có lên là LINK và trỏ tới FILE.
- Nếu chỉ cung cấp một trong hai FILE hoặc LINK là dấu chấm (.) thì lệnh Ln sẽ tạo một liên kết có tên của thư mục hiện tại và trỏ đến tệp.
Sau khi thực hiện thành công thì lệnh ln sẽ không tạo ra bất kỳ kết quả output nào và trả về 0.
Tạo Symbolic Link cho tệp
Để tạo liên kết tượng trưng cho tệp, hãy mở Terminal và nhập vào lệnh ln như sau:
{{EJS1}}
Thay đổi source_file thành tên của tệp mà bạn muốn tạo liên kết và symbolic_link chính là tên của link.
Tham số symbolic_link là tùy chọn cho phép bạn có thể nhập hoặc không. Nếu như không có liên kết tượng trưng được chỉ định thì lệnh Ln sẽ tạo một liên kết mới trong thư mục hiện tại của hệ thống.
Ví dụ: Tạo liên kết tượng trưng có tên my_link.txt cho tệp có tên my_file.txt:
{{EJS2}}
Xác minh rằng liên kết tượng trưng đã được tạo thành công bằng cách sử dụng lệnh ls:
{{EJS3}}
Kết quả trả về sẽ là:
{{EJS4}}
Tạo Symbolic Link cho thư mục
Tương tự như lệnh tạo liên kết tượng trưng cho tệp, lệnh tạo liên kết tượng trưng cho thư mục có tham số đầu tiên là thư mục và tên của liên kết sẽ là tham số thứ 2.
Ví dụ: Lệnh để tạo một liên kết tượng trưng từ thư mục /mnt/my_drive/movies đến thư mục ~/my_movies :
{{EJS5}}
Lỗi tạo Symbolic Link đã tồn tại trong Linux
Nếu bạn tạo một liên kết tượng trưng đã tồn tại thì sẽ có thông báo lỗi được gửi về bởi lệnh Ln.
Ví dụ:
{{EJS6}}
Kết quả trả về:
{{EJS7}}
Giải quyết lỗi bằng cách ghi đè lên link đã tồn tại đó với tùy chọn -f (–force).
{{EJS8}}
Xoá Symbolic Link
Để xóa hoặc loại bỏ các liên kết tượng trưng, hãy sử dụng lệnh unlink hoặc rm.
Ví dụ sử dụng unlink :
{{EJS9}}
Ví dụ sử dụng rm :
{{EJS10}}
Lưu ý: Khi sử dụng lệnh để xoá liên kết tượng trưng không nên để dấu “/” ở cuối tên. Nếu tệp nguồn bị xóa hoặc di chuyển đến một vị trí khác thì liên kết tượng trưng sẽ bị hỏng và cần được xóa.
Tổng kết về cách sử dụng lệnh Ln để tạo Symbolic Links trong Linux
Đó là tất cả những cách sử dụng lệnh Ln để tạo Symbolic Links trong Linux. Mong rằng những thông tin này sẽ giúp bạn có thêm những kỹ năng để sử dụng nền tảng này.
Nếu bạn còn muốn tìm hiểu thêm về những lệnh hoặc mẹo sử dụng Linux, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.