Hướng dẫn chi tiết cách sử dụng lệnh Ln trong Linux để tạo Symbolic Links (symlink hoặc soft link) cho bạn đọc tham khảo.
Symbolic link là một loại file đặc biệt dùng để khai báo liên kết giữa các file với nhau. Khi truy cập vào link A thì nó se tự gọi đến file B nếu như bạn tạo một sysmlink từ A sang B.
1. Các loại link trên Linux
Hard links: Bạn có thể hiểu hard link là một cái tên mới bổ sung cho một file nào đó. Bạn có thể tạo một hoặc nhiều hard link cho một file, và không thể tạo cho các file nằm trên các phân vùng khác nhau.
Soft links: Nó giống như là shortcut trên Windows vậy đó. Khi bạn mở một biểu tượng shortcut trên Windows thì nó sẽ tự liên kết tới phần mềm và chạy. Với cách này thì bạn có thể liên kết đến các file nằm nhiều phân vùng khác nhau.
2. Cách sử dụng lệnh Ln để tạo Symbolic Links
ln là một lệnh trên Linux, được dùng để tạo liên kết giữa các file. Theo mặc định thì lệnh ln tạo liên kết cứng (hard link). Để tạo một symbolic link (soft link) thì hãy sử dụng tùy chọn -s (–symbolic).
Cú pháp lệnh ln để tạo symbolic link như sau:
ln -s [OPTIONS] FILE LINK
Trong đó:
Nếu cả hai tham số FILE và LINK đều được cung cấp trong lệnh trên thì Linux sẽ tạo một symlink có tên là LINK và trỏ tới FILE.
Nếu chỉ cung cấp cho tham số FILE hoặc tham số LINK là dấu chấm thì Linux sẽ tạo một symlink có tên là thư mục hiện tại và trỏ đến file.
Khi thực thi lệnh thành công thì Linux sẽ trả kết quả về là 0.
Tạo một Symlink trỏ đến một file
Để tạo một symlink trỏ đến một file thì bạn hãy mở Terminal lên, sau đó nhập vào lênh có cấu trúc như sau:
ln -s source_file symbolic_link
Thay đổi tham số source_file thành tên của file mà bạn muốn tạo symlink, và symbolic_link chính là tên của nó.
Tham số symbolic_link là tùy chọn, tức là bạn có thể nhập hoặc không. Nếu bạn không nhập thì lệnh ln sẽ tạo một symlink có tên như mục hiện tại bạn đang đứng.
Trong ví dụ sau mình đã tạo một liên kết có tên là my_link.txt đến một file có tên my_file.txt.
ln -s my_file.txt my_link.txt
Để xác minh rằng symlink đã được tạo thành công thì hãy sử dụng lệnh ls:
ls -l my_link.txt
Kết quả trả về sẽ có dạng như sau:
lrwxrwxrwx 1 linuxize users 4 Nov 2 23:03 my_link.txt -> my_file.txt
Tạo một Symlink trỏ đến thư mục
Lệnh để tạo một symbolic link trỏ đến một thư mục cũng giống như lệnh trỏ đến file. Tham số đầu tiên chính là thư mục và tham số thứ hai chính là tên của symlink.
Ví dụ: Nếu bạn muốn tạo một symlink từ thư mục /mnt/my_drive/movies đến thư mục ~/my_movies, bạn sẽ chạy lệnh sau:
ln -s /mnt/my_drive/movies ~/my_movies
3. Lỗi tạo symlink đã tồn tại trong Linux
Nếu bạn tạo một symlink đã tồn tại thì lập tức sẽ nhận được một thông báo lỗi. Ví dụ:
ln -s my_file.txt my_link.txt
Kết quả:
ln: failed to create symbolic link 'my_link.txt': File exists
Để giải quyết thì ta chỉ việc khai báo ghi đè lên link đã tồn tại đó, bằng cách thêm vào tham số -f (–force).
ln -sf my_file.txt my_link.txt
4. Xóa symlink trên Linux
Để xóa symlink trên Linux thì ta sử dụng lệnh unlink hoặc rm.
unlink
unlink symlink_to_remove
rm
rm symlink_to_remove
Nếu bạn di chuyển file nguồn đến một vị tri khác thì symlink đó sẽ bị hỏng, lúc này bạn cần sử dụng hai lệnh trên để xóa nhé.
Chúc bạn sử dụng lệnh Ln trong Linux để tạo Symbolic Links thành công!