MKLINK so với Junction.exe


27

SysIternals có một chương trình jeft.exe tạo ra các nút (hay còn gọi là các điểm lặp lại , hay còn gọi là symlink) trong Windows.

Tuy nhiên, Windows cũng đi kèm với một mklink dường như làm điều tương tự.

Có một sự khác biệt đáng kể?

Tôi có xu hướng tin rằng nếu SysIternals có chương trình riêng, họ đã thấy sự thiếu hụt trong chương trình MKLink tiêu chuẩn.


5
Junctionđược xuất bản vào tháng 9 năm 2010, theo trang được liên kết. Tương tự như vậy, trang được liên kết MKLINKcó ngày xuất bản vào tháng 4 năm 2012. Điều đó dường như cho thấy mạnh mẽ rằng nó Junctionđã được tạo trước khi mklinktệp thực thi được thêm vào Windows. (Tôi chưa đào sâu hơn khi mỗi lần xuất hiện ban đầu, do đó là một nhận xét chứ không phải là một câu trả lời đầy đủ. Nếu ai đó muốn mở rộng về điều này và tạo một câu trả lời thích hợp, hãy là khách của tôi.)
CVn

Rất tiếc! Tôi bỏ lỡ điều đó. Nó xuất hiện rằng mklink trước ngày mklink. Cảm ơn.
abelenky

Câu trả lời:


41

So sánh

junctionChương trình của Mark Russinovich được thiết kế với mục tiêu cụ thể: tạo (và xóa) các điểm giao nhau. Nó được duy trì qua nhiều năm, nhưng cho đến nay không có tính năng mới nào được thêm vào. Phiên bản mới nhất được phát hành vào ngày 4 tháng 7 năm 2016.

Đối với mklink, đó là một lệnh tích hợp có sẵn trong Windows Vista trở lên. Nó có thể tạo liên kết cứng, điểm nối và liên kết tượng trưng. Một chức năng xóa cụ thể không được cung cấp; bạn chỉ có thể sử dụng các lệnh delhoặc rd, tùy thuộc vào việc liên kết trỏ đến một tệp hoặc một thư mục, tương ứng.


Một chút về lịch sử

Trước Vista, các hệ điều hành Windows không cung cấp cách tạo ra các điểm giao tiếp: bạn phải lấy một bản sao của Bộ tài nguyên chính thức , sử dụng chương trình của bên thứ ba hoặc tự viết.

2000

Phiên bản đầu tiên của junction công cụ đã được phát hành. Trích dẫn trang web chính thức:

Windows 2000 trở lên hỗ trợ các liên kết tượng trưng thư mục, trong đó một thư mục đóng vai trò là liên kết tượng trưng đến một thư mục khác trên máy tính. [...]

Thật không may, Windows không có công cụ để tạo các mối nối mà bạn phải mua Bộ tài nguyên Win2K, đi kèm với linkdchương trình để tạo các mối nối. Do đó, tôi quyết định viết công cụ tạo đường giao nhau của riêng mình: Giao lộ .

Nguồn: Ngã ba

2005-06

Các mklink lệnh đã được giới thiệu với Windows Vista trong giai đoạn beta sớm.

Nó có sẵn kể từ bản Beta 1 chính thức được xuất xưởng vào ngày 27 tháng 7 năm 2005. Ban đầu, nó chỉ có thể tạo các liên kết tượng trưng và liên kết cứng; khả năng tạo các điểm giao tiếp xuất hiện sau đó với Bản xem trước công nghệ cộng đồng (CTP) được phát hành vào ngày 19 tháng 12 năm 2005.

Rõ ràng lệnh đã hoàn toàn không được chú ý cho đến một thời gian sau đó vào năm 2006, khi nó được tiết lộ lần đầu tiên. Đây là tài liệu tham khảo sớm nhất tôi có thể tìm thấy:

Bạn có thể tạo liên kết tượng trưng trong Windows Vista ngay bây giờ.

C:\test>ver

Microsoft Windows [Version 6.0.5365]

C:\test>mklink
Creates a symbolic link.

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

[...]

Nguồn: Liên kết tượng trưng trong Windows Vista

Cũng thế:

Malcolm [MSFT] (Chuyên gia):
Q: Có cách nào thực sự dễ dàng để tạo liên kết tượng trưng không?
A: Mở CMD và nhập 'mklink'. Công cụ này sẽ cho phép bạn tạo các mối nối, liên kết cứng và liên kết tượng trưng.

Nguồn: Bản sao trò chuyện NTFS Beta (ngày 12 tháng 7 năm 2006)


Thông tin thêm

Một tập tin hoặc thư mục có thể chứa một điểm lặp lại, đó là một tập hợp dữ liệu do người dùng định nghĩa. Định dạng của dữ liệu này được hiểu bởi ứng dụng lưu trữ dữ liệu và bộ lọc hệ thống tệp mà bạn cài đặt để diễn giải dữ liệu và xử lý tệp.

Ví dụ: các điểm lặp lại được sử dụng để triển khai các liên kết hệ thống tệp NTFS và Máy chủ lưu trữ từ xa của Microsoft (RSS).

Nguồn: Điểm lặp lại

Có ba loại liên kết tệp được hỗ trợ trong hệ thống tệp NTFS: liên kết cứng, liên kết và liên kết tượng trưng.

Nguồn: Liên kết cứng và mối nối

Liên kết cứng

Liên kết cứng là biểu diễn hệ thống tệp của một tệp mà nhiều hơn một đường dẫn tham chiếu một tệp trong cùng một ổ đĩa. [...] Mọi thay đổi đối với tệp đó sẽ hiển thị ngay lập tức đối với các ứng dụng truy cập tệp đó thông qua các liên kết cứng tham chiếu tệp đó. Tuy nhiên, kích thước mục nhập và thông tin thuộc tính chỉ được cập nhật cho liên kết thông qua đó thay đổi được thực hiện.

Nguồn: Liên kết cứng và mối nối

Nút giao

Một đường nối (còn được gọi là liên kết mềm) khác với một liên kết cứng ở chỗ các đối tượng lưu trữ mà nó tham chiếu là các thư mục riêng biệt và một đường nối có thể liên kết các thư mục nằm trên các ổ đĩa cục bộ khác nhau trên cùng một máy tính.

Nguồn: Liên kết cứng và mối nối

Điểm nối chỉ có thể liên kết đến các thư mục trên một khối cục bộ; điểm nối với cổ phiếu từ xa không được hỗ trợ.

Nguồn: Điểm giao tiếp NTFS

Liên kết tượng trưng

Liên kết tượng trưng là một đối tượng hệ thống tệp trỏ đến một đối tượng hệ thống tệp khác. Đối tượng được chỉ vào được gọi là mục tiêu.

Liên kết tượng trưng là minh bạch cho người dùng; các liên kết xuất hiện dưới dạng các tệp hoặc thư mục bình thường và có thể được người dùng hoặc ứng dụng xử lý theo cách chính xác.

Nguồn: Liên kết tượng trưng

[Liên kết tượng trưng] đã được giới thiệu với các sửa đổi được thực hiện cho hệ thống tệp NTFS với Windows Vista , nhưng có sẵn thông qua trình điều khiển bộ lọc cho Windows XP .

Không giống như điểm giao tiếp NTFS (có sẵn từ Windows 2000), liên kết tượng trưng cũng có thể trỏ đến tệp hoặc đường dẫn mạng SMB từ xa . Trong khi các điểm giao tiếp NTFS chỉ hỗ trợ các đường dẫn tuyệt đối trên các ổ đĩa cục bộ, các liên kết tượng trưng NTFS cho phép liên kết bằng các đường dẫn tương đối.

Cài đặt bảo mật mặc định trong Windows Vista / Windows 7 không cho phép quản trị viên không nâng cao và tất cả những người không phải quản trị viên tạo liên kết tượng trưng.

Nguồn: Liên kết tượng trưng NTFS

đọc thêm


Nếu bạn định đưa ra một câu trả lời chi tiết hơn nhiều so với của tôi, bạn cũng có thể đề cập rằng Điểm lặp lại NTFS là một hương vị khác.
paradroid

(tham khảo Liên kết cứng, để làm rõ)
paradroid

Câu trả lời chất lượng thuần túy.
sshow

2
Lưu ý: Có các liên kết tượng trưng "tệp" (được tạo bởi đơn giản mklinkbất kể loại mục tiêu) và có các liên kết tượng trưng "thư mục" (được tạo bởi mklink /d). Tốt nhất là tạo đúng loại liên kết cho mục tiêu.
kbolino

Tôi tò mò tại sao jeft.exe được cập nhật vào năm 2016 và tại sao họ tiếp tục gửi nó với SysIternals? Có phải họ chống lại sự phá hoại? Hãy nghĩ về nó, vâng, họ có ... Có lẽ một nửa những công cụ đó có đủ sự thay thế trong Windows. Câu trả lời chi tiết tuyệt vời.
Adam Plocher

2

Như đã đề cập trong các bình luận, junction.exeđã xuất hiện trước Vista / Winserver 2008, đi kèm với mklinklệnh.

Do đó, không có điểm nào trong việc sử dụng nó trên Vista trở đi. Các phiên bản Windows cũ hơn Vista không còn được hỗ trợ nữa.

Ngoài ra, junction.exekhông hỗ trợ Liên kết tượng trưng NTFS (chỉ Liên kết NTFS ), được giới thiệu với Vista / WinServer 2008 và mlinklệnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.