Giới thiệu về mklink trong Windows

54 Thích Comment
mklink_thumbnail

Từ phiên bản Windows Vista trở đi đã hỗ trợ symbolic links, hay được gọi là symlinks, có tác dụng trỏ đến một file hoặc folder. Bạn có thể tạo symlinks thông qua CMD hoặc phần mềm Link Shell Extension.

Symbolic links là gì?

Symbolic link về cơ bản là một shortcut nâng cao. Nó giúp bạn trỏ tới một file hay một folder tương ứng symlinks dùng cho file hoặc folder.

Ví dụ nếu bạn có một chương trình ở C:\Program, nhưng bạn lại muốn chứa nó ở D:\Stuff. Chương trình lại yêu cầu các file phải C:\Program, do đó bạn không thể copy file thủ công sang D:\Stuff được. Trong trường hợp này, khi bạn sử dụng symbolic link cho C:\Program, nó sẽ trỏ đến D:\Stuff, nên khi chạy chương trình của bạn, Windows sẽ tự động chuyển hướng đến D:\Stuff, mọi thứ sẽ giống như chương trình của bạn vẫn ở C:\Program, trong khi bạn đã chuyển nó qua D:\Stuff.

Việc sử dụng symbolic link cũng có thể áp dụng cho các dịch vụ đồng bộ file online như Dropbox, Google Drive và OneDrive, bạn có thể đồng bộ bất kỳ folder nào mà bạn muốn.

Có hai loại symbolic link: hard và soft. Soft symbolic link giống như một shortcut bình thường, khi bạn mở một folder có soft link, bạn sẽ được chuyển hướng đến thư mục mà bạn trỏ tới. Trong khi hard link lại làm cho Windows nhận biết file hay folder được symbolic link trỏ tới là cái mà bạn đang mở, không có sự khác biệt nào giữa 2 vị trí. Do đó hard link là cái mà bạn muốn sử dụng trong nhiều trường hợp.

Cũng cần phải lưu ý rằng Windows không sử dụng “hard link” hay “soft link”, mà thay vào đó nó sử dụng “hard link” và “symbolic link”, “symbolic link” tương tự với “soft link”.

Hướng dẫn cách tạo symbolic link với mklink:

Bạn có thể tạo symbolic link thông qua lệnh mklink trong CMD (lưu ý khởi chạy CMD với quyền admin)

  1. Dạng mặc định của mklink sẽ tạo symbolic link (soft link) cho file, trong đó Link sẽ trỏ tới Target:
    mklink Link Target
  2. Thêm switch /D nếu muốn tạo soft link cho thư mục:
    mklink /D Link Target
  3. Thêm switch /H nế muốn tạo hard link trỏ tới file:
    mklink /H Link Target
  4. Thêm switch /J để tạo hard link đến thư mục, đây được xem như directory junction:
    mklink /J Link Target

Ví dụ nếu muốn tạo một hard link tại C:\LinkToFolder trỏ tới C:\Users\Name\OriginalFolder, bạn dùng lệnh sau: (sau khi liên kết thì khi bạn mở LinkToFolder sẽ trỏ tới OriginalFolder, đồng thời cần lưu ý là LinkToFolder chưa được tạo nhé, nếu có thì xóa thư mục ấy đi, nếu không sẽ báo lỗi: Cannot create a file when that file already exists.)

mklink /J C:\LinkToFolder C:\Users\Name\OriginalFolder

Nếu trong đường dẫn có các ký tự đặc biệt hoặc khoảng trắng thì bạn cần đặt đường dẫn trong ngoặc kép:

mklink /J "C:\Link To Folder" "C:\Users\Name\Original Folder"

Nếu hiện thông báo “You do not have sufficient privilege to perform this operation.”, bạn cần chạy lại CMD với quyền admin.

Sử dụng tool để tạo symbolic link

Nếu không muốn gõ lệnh thủ công qua CMD, bạn có thể sử dụng tool có tên Link Shell Extension. Link tải tại đây: http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

Sau khi cài đặt, để tạo một link trỏ đến thư mục, click chuột phải vào thư mục cần trỏ đến, chọn “Pick Link Source”.

Hoặc bạn có thể click chuột phải vào trong thư mục (lưu ý là khoảng trống bên trong thư mục, không phải click chuột phải lên thư mục đó như ở bước trên), chọn “Drop As”, sau đó lựa chọn “Hardlink” để tạo hard link đến file, “Junction” để tạo hard link đến thư mục, và “Symbolic Link” để tạo soft link đến file hoặc thư mục.

Xóa symbolic link

Để xóa link thì bạn chỉ cần xóa file hoặc thư mục là được, không cần phải xóa file hoặc thư mục được trỏ đến nhé.

Nguồn: https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/

 

Bình luận bằng facebook
Có thể bạn thích
Tác giả: Sharescript.net

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *