Tại sao các phiên bản Windows sau này tiếp tục sử dụng các tệp lối tắt thay vì liên kết tượng trưng?


68

Windows XP và các liên kết tượng trưng sau này. Tuy nhiên, Windows tiếp tục sử dụng các tệp lối tắt (về cơ bản lưu trữ vị trí của tệp được liên kết dưới dạng văn bản). Tại sao?


25
Tại sao các phiên bản mới của Windows (và Office) lưu tệp văn bản ở định dạng ANSI mà không phải UTF-8? Hoặc để duy trì sự không tương thích và không hợp lý hoặc để hỗ trợ các hệ thống cũ ...
lại

9
Windows XP và sau này hỗ trợ tượng trưng cho các hệ thống tệp nhất định. Liên kết tượng trưng hoạt động trên hệ thống tệp NTFS trên đĩa cứng của bạn, nhưng không hoạt động nếu được sao chép sang thẻ USB định dạng FAT 32 thông thường hoặc CD-ROM định dạng UDF và có thể không hoạt động nếu được sao chép vào máy chủ mạng (như bạn thường không biết hệ điều hành hoặc hệ thống tệp được sử dụng bởi máy chủ từ xa). Các tập tin phím tắt LNK có thể được sao chép một cách vui vẻ và hoạt động trên tất cả các tập tin đó.
GAThrawn

12
Các .lnktệp Windows tương tự như .desktopcác tệp Linux hơn là các liên kết tượng trưng.
Arturo Torres Sánchez

3
Symlinks là bảo mật khôn ngoan (vấn đề phó nhầm lẫn)
CodeInChaos

2
Vì vậy, bạn đã ngừng sử dụng dấu trang trong trình duyệt của mình khi NTFS xuất hiện chưa? Nghe có vẻ giống như một sự so sánh ngớ ngẩn, nhưng chỉ khi bạn nghĩ rằng các phím tắt không là gì ngoài con trỏ đến các tệp - đơn giản là không phải vậy.
Luaan 2/2/2016

Câu trả lời:


106

Một số lý do, tôi đoán

  1. Bạn có thể lưu trữ các mức độ tương thích khác nhau đối với một số phím tắt khác nhau cho cùng một EXE khi chúng được giải thích bởi trình bao, thay vì hệ thống tệp.
  2. Một số liên kết phím tắt không thực sự tồn tại trên hệ thống tập tin. Một số trong số chúng chỉ đơn giản là các tham chiếu đến GUID hoặc các chuỗi đặc biệt được giải thích bởi trình bao.
  3. Bạn không thể bao gồm các công tắc trong một liên kết tượng trưng. Bạn có thể chỉ vào EXE, chắc chắn, nhưng bạn không thể nói với EXE bất kỳ đối số nào nữa.
  4. Bạn không thể chọn một biểu tượng cho một liên kết tượng trưng.
  5. Bạn không thể chọn thư mục nào để làm việc trong một liên kết tượng trưng.
  6. Các tệp tắt không cần phải trỏ đến các tệp, chúng có thể là siêu liên kết hoặc liên kết giao thức (Trong trường hợp tệp .URL).
  7. Tập tin LNK có thể tồn tại trên bất kỳ hệ thống tập tin. Các liên kết được xử lý bởi chính hệ thống tệp, trong trường hợp Windows, NTFS.
  8. Không có nhu cầu thực sự để thay thế chúng. Chúng hoạt động, chúng nhỏ bé, chúng có thể được nhân rộng trong tương lai nếu cần thêm nhiều chức năng để thêm vào chúng so với liệt kê ở trên.
  9. Quyền quản trị được yêu cầu để tạo một liên kết tượng trưng (Vì lý do chính đáng - nếu không, việc chuyển hướng các tệp vô tội sang các tệp độc hại có thể được thực thi với rất ít công việc)

Sẽ có nhiều lý do hơn thế, nhưng tôi nghĩ thế là đủ để bạn bắt đầu :) - Có một liên kết được cung cấp bởi @grawity ở đây sẽ cung cấp thêm một số bài đọc về các phần của chủ đề này.


2
Ngoài ra, các phím tắt tệp lưu trữ siêu dữ liệu nhất định về mục tiêu và được giải thích ở cấp độ vỏ cho phép các phím tắt được cập nhật bởi trình bao nếu mục tiêu đã được di chuyển, sẽ khó hơn với các liên kết tượng trưng. Nói chung, hãy xem Old New Thing một lần nữa để biết nhiều điều thú vị về các tính năng phím tắt.
grawity

5
@grawity Liệu có bất kỳ lợi ích lớn nào khi chuyển những thứ này sang được xử lý bởi hệ thống tập tin không? Tôi đã nghĩ rằng các tệp .lnk có một phòng vô hạn để mở rộng cho chức năng tiếp theo nếu được yêu cầu, trong khi vẫn giữ được khả năng tương thích ngược và chúng không có nhiều chi phí cho chúng. Chuyển cái này sang hệ thống tập tin sẽ hơi quá sức, có lẽ vậy? Tôi không có nghĩa là một chuyên gia về hoạt động bên trong của các hệ thống tập tin, mặc dù.
Jonno

3
Đúng, bản thân FS sẽ không sử dụng được hầu hết các thông tin này - nhiều tính năng .lnk thực sự dành riêng cho Explorer, vì vậy việc lưu trữ mọi thứ như một điểm lặp lại thay vì một tệp sẽ là quá mức cần thiết.
grawity

3
Chỉ muốn chỉ ra, các tệp LNK không thể, theo như tôi biết, được sử dụng để nhắm mục tiêu URL (siêu liên kết). Bạn có thể sử dụng cùng một cơ sở tạo lối tắt trong Windows để tạo lối tắt tới URL, nhưng kết quả cuối cùng là tệp .URL (là văn bản thuần túy, về cơ bản là tệp INI), không phải là tệp .LNK (là tệp nhị phân).
Michael Becker

3
Hoặc start http://superuser.comchọn trình duyệt mặc định, như một phím tắt thực sự cho một URL sẽ làm. Điều đó nói rằng, bạn có thể làm cho các tệp .LNK trỏ đến URL. Cuối cùng, chúng là "biệt danh COM được tuần tự hóa" và hệ thống COM có thể được mở rộng với các loại biệt danh mới.
MSalters

6

Một symlink không gì khác hơn là một đường dẫn được gói trong một lượng rất nhỏ phép thuật hệ thống tập tin. Có bất kỳ số cách nào nó có thể trở thành không hợp lệ ("bị hỏng"), hầu hết trong số đó liên quan đến một hoặc nhiều tệp hoặc thư mục được đổi tên. Vì Windows là phần mềm tiêu dùng, bạn có thể có một số lượng lớn các chương trình được thiết kế rất kém chạy trên bản cài đặt "thông thường". Kết quả là, loại hỏng này khó tránh hơn rất nhiều so với trên máy chủ trong đó (về lý thuyết) mỗi chương trình chạm vào đĩa là một đại lượng đã biết.

Các phím tắt miễn nhiễm với hầu hết các hình thức phá vỡ vì chúng theo dõi mục tiêu của chúng một cách độc lập trên đường đi. Điều này làm cho chúng thân thiện hơn với người dùng. Chúng được thiết kế dành riêng cho người tiêu dùng, với cách tiếp cận "chỉ làm theo ý tôi và không làm phiền tôi về các chi tiết".

Bây giờ, bạn có thể sử dụng các liên kết cứng cho điều đó (ở một mức độ nào đó), nhưng các liên kết cứng có một số thuộc tính phức tạp khiến chúng không phù hợp để sử dụng cho người tiêu dùng. Đặc biệt, các tệp nhận được số inode mới hoàn toàn quá dễ dàng và một số phần mềm sao lưu bị phá vỡ khá ngoạn mục khi phải đối mặt với các liên kết cứng. Cái trước có thể (có lẽ) được giải quyết bằng đường hầm hệ thống tập tin (thực tế là cách các phím tắt giải quyết vấn đề liên quan), nhưng cái sau là vấn đề khó hơn nhiều.

(Tôi có lẽ cũng nên lưu ý rằng việc "giải quyết" các liên kết cứng bằng đường hầm là không cần thiết vì nó không chỉ là vấn đề gắn lại siêu dữ liệu mà "bị mất". hoặc chỉ định lại chúng sau khi thực tế không có một chút công việc hợp lý. Vì các phím tắt sử dụng siêu dữ liệu khác có thể dễ dàng được tạo đường hầm, như thời gian tạo, chúng không gặp phải vấn đề này.)

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.