В чем разница между символической ссылкой и ярлыком?

В чем разница между символической ссылкой и ярлыком?

  • Отправить вход в фоновое окно мыши в Windows 7
  • Какова цель config \ Software.log
  • Некоторые системные файлы Windows не могут быть удалены
  • Разрешить права администратора для программы, работающей под ограниченной учетной записью
  • Как узнать, какая версия и версия Windows находится в файловой системе?
  • Планирование задачи программы GUI и отображение ее графического интерфейса при входе в систему
  • 3 Solutions collect form web for “В чем разница между символической ссылкой и ярлыком?”

    Я думаю, что важным моментом является то, что ярлыки – это всего лишь файл. Они имеют размер (маленький, это просто ссылки, где они указывают), и им требуется приложение для поддержки этого типа файла, чтобы его можно было использовать.

    Символьная ссылка – уровень файловой системы, и все видит ее как исходный файл. Приложение не нуждается в специальной поддержке для использования символической ссылки.

    «Символическая ссылка» может фактически функционировать как замена каталога или файла функциональным способом и обычно используется в средах Unix / Linux. Несмотря на то, что в Windows, похоже, есть поддержка, я пока не видел его фактического использования.

    «Ярлык» – это обычный файл, который имеет ссылку на файл или каталог назначения вместе с другими вещами, такими как значок, который будет отображаться. В отличие от Symbolic Link, вы не можете «cd ./shortcut-name» в DOS (в Unix / Linux вы можете «cd ./symlink-name», и он будет работать как реальный подкаталог).

    Кроме того, в большинстве приложений Windows, когда вы нажимаете ярлык в любом диалоговом окне «Файл-> Открыть графический интерфейс», поле вашего файла заполняется этим именем ярлыка, а также действует как подкаталог, в то время как в Unix / Linux графический интерфейс Символическая ссылка как путь (без изменения поля имени файла).

    Как отмечали другие, символическая ссылка является одним из видов ссылок, доступных на уровне файловой системы, что делает ее прозрачной для приложений. Я нашел эту документацию очень полезной (особенно раздел «Crop / Unroll / Splice Outer Junctions / Symbolic Links»). И инструмент там тоже выглядит хорошо. (Говоря об этом, и mklink, мы надеемся, что больше поисков найдет это обсуждение.)

    Ярлык – это файл, а не реальная ссылка, и он обычно успешно выполняется только как ссылка при интерпретации пользовательского интерфейса Windows. Например, при двойном щелчке по ярлыку папки Windows перенаправляет вас в другое место. (Это включает в себя общие диалоги «Открыть файл» и «Сохранить файл», которые вызывает большинство приложений). На моем рабочем столе у ​​меня есть ярлык для этой папки: C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ G

    Имя файла shorcut: C: \ Users \ user5 \ Desktop \ Games.lnk, хотя Windows подавляет расширение .lnk и просто показывает «Игры», даже если вы отключите «скрыть расширения для известных типов файлов». Но если вы откроете командную строку и сделаете каталог, вы увидите следующее:

     C:\Users\user5\Desktop>dir "g*" Volume in drive C has no label. Volume Serial Number is 900... Directory of C:\Users\user5\Desktop 03/08/2014 05:30 PM 1,710 Games.lnk 1 File(s) 1,710 bytes 0 Dir(s) 246,818,222,080 bytes free 

    Я могу создать эквивалент с символической ссылкой, используя параметр \ D (для каталога):

     C:\Users\user5\Desktop>mklink /D mysymlink "C:\ProgramData\Microsoft\Windows\S tart Menu\Programs\G" symbolic link created for mysymlink <<===>> C:\ProgramData\Microsoft\Windows\Sta rt Menu\Programs\G C:\Users\user5\Desktop>cd mysymlink C:\Users\user5\Desktop\mysymlink> 

    (Перемещение каталогов (\ J) также является опцией, так как это ссылка на папку.) Проводник Windows, подобно этой консоли и большинству приложений, позволит вам просматривать «вниз» в этот кажущийся подкаталог, а не (а) перенаправлять «Через» в другое место или (b) сбой.

    Ярлыки не ведут себя как подкаталоги. Я могу вызвать поведение файла по умолчанию в пользовательском интерфейсе Windows с помощью этой команды (это открывает папку «G» в проводнике Windows):

     C:\Users\user5\Desktop>"Games.lnk" 

    В то время как mysymlink указана (см. Счетчик) в качестве подлинного подкаталога и не может быть запущена таким образом:

     C:\Users\user5\Desktop>dir "my*" Volume in drive C has no label. Volume Serial Number is 900... Directory of C:\Users\user5\Desktop 03/29/2014 06:08 PM <DIR> mysubdir 03/29/2014 05:40 PM <SYMLINKD> mysymlink [C:\ProgramData\Microsoft\Windo ws\Start Menu\Programs\G] 0 File(s) 0 bytes 2 Dir(s) 246,816,153,600 bytes free C:\Users\user57\Desktop>mysubdir 'mysubdir' is not recognized as an internal or external command, operable program or batch file. C:\Users\user57\Desktop>mysymlink 'mysymlink' is not recognized as an internal or external command, operable program or batch file. 

    И наоборот, вы не можете изменить каталог в ярлык:

     C:\Users\user5\Desktop>cd "Games.lnk" The directory name is invalid. 

    Пользовательский интерфейс Windows позволяет щелкнуть правой кнопкой мыши, чтобы изменить свойства ярлыка. Или следующее показано, что фактически хранится в файле .lnk (двоичные данные), хотя шестнадцатеричный редактор будет отображаться лучше:

     C:\Users\user5\Desktop>notepad.exe "Games.lnk" 

    Если при попытке выполнить «Блокнот» в фактической подпапке появляется сообщение об ошибке «Отказано в доступе» и пустой блокнот.

    И наоборот, если я создаю символическую ссылку на файл (а не символическую ссылку на папку), я могу запустить его с помощью Блокнота. Из следующих вызовов notepad.exe первые две работы, а третий не работает (он открывает файл .LNK, двоичный gobbledegook).

     C:\Users\user5\Desktop>mklink symplain.txt plain.txt symbolic link created for symplain.txt <<===>> plain.txt C:\Users\user5\Desktop>notepad.exe "symplain.txt" C:\Users\user5\Desktop>notepad.exe "plain.txt" C:\Users\user5\Desktop>notepad.exe "plain.txt.lnk" 

    Это не просто консольная вещь. Копирование ярлыка на блокнот на мой рабочий стол и попытка перетаскивания каждого из трех на него, он демонстрирует то же самое поведение. (Поскольку перетаскивание, в отличие от двойного щелчка, позволяет приложению интерпретировать ярлык.)

    Что касается различий между символическими ссылками и узлами каталогов, см. Это обсуждение , и вот очень полезное описание :

    «Основное различие в том, как Windows разрешает символические ссылки и узлы каталогов, – это то, где происходит обработка. Windows обрабатывает символические ссылки в локальной системе, даже когда они ссылаются на местоположение на удаленном файловом сервере. Windows обрабатывает узлы каталогов, которые ссылаются на удаленный Файловый сервер на самом сервере. Символьные ссылки на сервере могут поэтому ссылаться на местоположения, которые доступны только от клиента, например, на других томах клиента, тогда как переходы каталогов не могут. Чтобы решить эту проблему, Windows Vista поддерживает новый тип символической ссылки для обоих файлов И справочники.

    «Многие команды файловой системы были обновлены, чтобы понять последствия символических ссылок. Например, команда« Удалить »знает, что не следует следовать ссылкам, что приведет к удалению цели, но вместо этого удалит ссылку. Однако, поскольку не все приложения Может правильно обрабатывать символические ссылки, для создания символической ссылки требуется новая привилегия Create Symbolic Link, которую по умолчанию имеют только администраторы ».

    Давайте будем гением компьютера.