Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Symbolic Links (Liên kết tượng trưng) là gì? Cách tạo Symlinks trong Windows 11/10?

Symlink – còn gọi là Symbolic link (Liên kết tượng trưng) hoặc Soft link (Liên kết mềm) – có thể là một trong những khái niệm bị ẩn nhất cho người dùng máy tính. Tuy nhiên, điều đó không làm giảm đi tầm quan trọng và lợi ích nó mang lại. Làm sao để truy cập thư mục và tệp từ các thư mục khác nhau mà không cần duy trì bản sao trùng lặp? Đó chính là sức mạnh của Symlink.

Symlink hoặc Symbolic Link là gì

Symlink là các tệp phím tắt tham chiếu đến một tệp hoặc thư mục vật lý nằm ở nơi khác. Symlink đóng vai trò như các tệp hoặc thư mục ảo, có thể dùng để liên kết với từng tệp hoặc thư mục, khiến chúng trông như thể chúng được lưu trữ trong thư mục chứa Symlink, mặc dù Symlink chỉ trỏ đến vị trí thực của chúng.

Đừng nhầm lẫn Symlink chỉ là phím tắt (shortcuts)

Quan trọng phải hiểu rằng Symlink không chỉ là Shortcuts (phím tắt) mà bạn đã biết. Một file phím tắt chỉ trỏ đến file mong muốn trong khi Symlink sẽ làm cho nó trông như thể file liên kết thực sự ở đó. Khi bạn nhấp vào Symlink, bạn sẽ được dẫn đến vị trí file thực tế.

Cấu trúc của Symlink

Một Symlink được xây dựng từ một chuỗi văn bản được hệ điều hành tự động diễn giải và theo dõi như một đường dẫn đến tệp hoặc thư mục khác. Tệp hoặc thư mục khác này được gọi là "target" (mục tiêu).

Symlink tồn tại độc lập với target của nó. Nếu Symlink bị xóa, target của nó không bị ảnh hưởng. Nếu Symlink trỏ đến một target, và sau đó target đó bị di chuyển, đổi tên hoặc xóa, liên kết tượng trưng không tự động cập nhật hoặc xóa, mà tiếp tục tồn tại và vẫn trỏ đến target cũ. Tuy nhiên, các Symlink trỏ đến target đã di chuyển hoặc không tồn tại đôi khi bị gọi là broken (hỏng), orphaned (mồ côi), dead (chết), hoặc dangling (treo lơ lửng).

Lợi ích của Symlinks

  1. Symlink tiêu tốn rất ít dung lượng và tạo rất nhanh. Bạn tiết kiệm rất nhiều dung lượng ổ cứng với Symlinks
  2. Khác với hard links, symlink có thể liên kết tới file xuyên qua các hệ thống tệp. Nhớ rằng, nếu bạn xóa file gốc, hard link vẫn giữ nó sống, symlink thì không
  3. Symlink duy trì cấu trúc thư mục chứa Symlink. Ví dụ, giả sử có file txt trong thư mục "Utility" nằm ở /D/Myfolder/Utility/windowsclub.txt. Nếu Symlink cho thư mục Utility được tạo trong thư mục Dropbox, và bạn tìm windowsclub.txt trong thư mục Dropbox, đường dẫn file sẽ đọc /D/Myfolder/Utility/windowsclub.txt thay vì chuyển về đường dẫn file gốc/thực tế.
  4. Dùng Symlink bạn có thể lưu file media Nhạc/Video trên ổ cứng khác, nhưng làm cho chúng xuất hiện trong thư mục Nhạc/Video tiêu chuẩn, để chúng được phát hiện bởi chương trình media
  5. Các nhà phát triển thường thay thế bản sao trùng lặp của file/thư mục chia sẻ bằng symlink tham chiếu đến file/thư mục vật lý. Thay thế bản sao dư thừa có thể tiết kiệm rất nhiều dung lượng đĩa vật lý, và giảm đáng kể thời gian copy/backup/deploy/clone dự án.

Ý nghĩa của Symlinks trong thế giới phát triển hiện nay

Như Yosef Durr, Lead Senior Program Manager, Microsoft nhắc đến trên Windows Blog,

Nhiều công cụ phát triển phổ biến như git và trình quản lý gói như npm nhận diện và duy trì symlink khi tạo repo hoặc gói, tương ứng. Khi những repo hoặc gói đó được khôi phục ở nơi khác, symlink cũng được khôi phục, đảm bảo dung lượng đĩa (và thời gian của người dùng) không bị lãng phí. Git, ví dụ, cùng với các trang như GitHub, đã trở thành công cụ quản lý mã nguồn chính được hầu hết nhà phát triển dùng ngày nay.

Symbolic Links (Liên kết tượng trưng) là gì? Cách tạo Symlinks trong Windows 11/10?

Việc dùng trình quản lý gói trong phát triển hiện đại cũng bùng nổ trong những năm gần đây. Ví dụ, node package manager (npm) phục vụ ~400 triệu cài đặt trong tuần ngày 1 tháng 7 năm 2015, nhưng phục vụ hơn 1,2 tỷ cài đặt chỉ một năm sau - tăng 3 lần chỉ trong một năm! Cuối tháng 6 năm 2016, npm phục vụ hơn 1,7 tỷ gói node chỉ trong bảy ngày!

Symlinks trong Windows 11/10

Mặc dù Symlinks có lợi thế riêng biệt, nó chủ yếu được dùng bởi các hệ điều hành tương thích UNIX như Linux, FreeBSD, OSX, v.v., nơi symlink có thể tạo không hạn chế. Đối với người dùng Windows, mặc dù Symlinks có sẵn từ Windows Vista, nhưng việc tạo rất khó khăn và tẻ nhạt.

Do yêu cầu bảo mật của Windows Vista, người dùng cần quyền admin cục bộ và quan trọng hơn, phải chạy mklink trong console dòng lệnh được nâng cao (elevated) với tư cách quản trị viên để tạo/sửa đổi Symlinks. Hạn chế sau này dẫn đến Symlinks ít được dùng bởi hầu hết nhà phát triển Windows và khiến nhiều công cụ phát triển đa nền tảng hiện đại hoạt động kém hiệu quả và tin cậy trên Windows.

Tuy nhiên, bây giờ trên Windows 10 hoặc Windows 11, một khi người dùng có quyền admin bật Chế độ nhà phát triển (Developer Mode), bất kỳ ai trên PC đều có thể chạy lệnh mklink mà không cần nâng cao console dòng lệnh.

Cách tạo Symlinks

Symlinks có thể tạo bằng lệnh mklink hoặc API CreateSymbolicLink.

Bạn có thể tạo Symlinks hoặc Symbolic Links trong Windows, dùng tiện ích dòng lệnh: mklink. Cú pháp như sau:

MKLINK [[ /D] | [ /H] | [ /J]] Link Target

Trong đó –

  • /D: tạo symbolic directory link (liên kết thư mục tượng trưng) hoặc soft link
  • /H: tạo hard link đến file thay vì symbolic link
  • /J: tạo Directory Junction link

Target: Chỉ định đường dẫn mà liên kết mới tham chiếu đến.

Ví dụ, nếu bạn muốn d:\Data có sẵn từ thư mục D:\Maindata hãy dùng:

C:\mklink /D D:\Maindata D:\Data

Bây giờ, nếu bạn nhìn vào D:\Maindata, bạn sẽ thấy bất kỳ file nào ở thư mục kia. Nó luôn có trong Linux, nhưng tính năng này hiện đã có sẵn trong Vista.

Dùng lệnh mklink

Khi dùng lệnh mklink, dùng cú pháp dưới đây:

"mklink /prefix link_path file/folder_path"

Lưu ý: mklink có thể tạo vài loại liên kết. Dưới đây là các loại-

  • /D Tạo symbolic link thư mục. Mặc định là symbolic link file.
  • /H Tạo hard link thay vì symbolic link.
  • /J Tạo Directory Junction.

Ví dụ, tôi tạo directory junction của thư mục Music của tôi ra Desktop. Tham khảo ảnh chụp màn hình dưới-

Symbolic Links (Liên kết tượng trưng) là gì? Cách tạo Symlinks trong Windows 11/10?

Vì vậy khi tôi nhấp vào Symlink, nó trông như file nhạc của tôi được lưu trong C:\Users\<username>\Desktop\Music mặc dù nó thực sự ở C:\Users\<username>\Music.

Symbolic Links (Liên kết tượng trưng) là gì? Cách tạo Symlinks trong Windows 11/10?

Nhớ rằng, nếu đường dẫn của bạn có khoảng trắng, bạn cần đặt dấu ngoặc kép quanh nó.

Dùng CreateSymbolicLink

Để kích hoạt hành vi mới khi dùng API CreateSymbolicLink, có thêm tùy chọn dwFlags bạn cần đặt giá trị là:

SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE

0x2

Vì vậy bằng cách chọn giá trị trên, bạn đã chỉ định cờ để cho phép tạo symbolic links khi tiến trình không được nâng cao.

Để đọc thêm về cách tạo Symlink dùng API CreateSymbolicLink, truy cập windows.com.

Đọc thêm: Tạo Hardlinks, Symbolic Links, Junctions, Volume Mountpoints.

Kết luận

Có thể nói Symlinks hữu ích hơn đơn thuần phím tắt tuy nhiên chúng hơi khó tạo. Người dùng PC trung bình có thể vẫn thấy hơi sợ khi tạo. Cái hơn, ngay hôm nay, nhiều người dùng vẫn khó hiểu khái niệm phím tắt tốt và do đó có thể khó phân biệt Symlinks và hiểu cách dùng.

Đã nói vậy, gần như chắc chắn bạn sẽ thấy dễ dàng thay đổi bất kỳ cài đặt nào bạn có thể để chương trình trỏ đến thư mục đúng, và bạn không thực sự tạo Symlink, nhưng biết cách thiết lập và dùng một Symlink tốt có thể rất tiện lợi.

Symbolic Links (Liên kết tượng trưng) là gì? Cách tạo Symlinks trong Windows 11/10?