38

Есть ли способ получить ту же функциональность, что и команда unix ln -s в Mac OS X Finder (OS 10.5)? Я хочу иметь возможность создавать символические ссылки во время работы в окнах Finder без открытия терминала.

Обратите внимание, что команда Make Alias в Finder - это не то, что мне нужно, потому что эти псевдонимы не могут быть перемещены в Терминале (но ссылки, созданные с помощью ln -s могут перемещаться как Терминалом, так и Finder).

8 ответов8

26

SymbolicLinker сделает именно то, что вы ищете, и это бесплатно.

альтернативный текст

15

Как насчет создания символических ссылок в Finder через AppleScript ?

Вот наиболее актуальный скрипт в этой ссылке:

on run
    open {choose file with prompt "Choose a file to create a symbolic link:" without invisibles}
end run

on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files)
            if posix_path ends with "/" then set posix_path to text 1 thru -2 of posix_path
            do shell script "ln -s " & quoted form of posix_path & " " & quoted form of (posix_path & ".sym")
        end try
    end repeat
end open

Просто вставьте его в редактор AppleScript и сохраните как приложение. После этого вы можете перетащить его на панели инструментов находки или связать его на причале.

2

Яблочный скрипт по ссылке, предоставленной пользователем nuc, ответил на мой вопрос. Вот яблочный скрипт, воспроизведенный на случай, если эта ссылка исчезнет.

Я предпочел сценарий, данный комментатором jonn8n, который также был воспроизведен как статья Macworld.

on run
    open {choose file with prompt ¬
        "Choose a file to create a symbolic link:" without invisibles}
end run
on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files)
            if posix_path ends with "/" then set posix_path to ¬
                text 1 thru -2 of posix_path
            do shell script "ln -s " & quoted form of posix_path ¬
                & " " & quoted form of (posix_path & ".sym")
        end try
    end repeat
end open

Я сохранил это как приложение, используя Script Editor, и перетащил приложение на боковую панель Finder, чтобы теперь я мог создавать символические ссылки, перетаскивая файлы или папки на значок приложения.

1

Path Finder добавляет это к вашему Finder и добавляет гораздо больше возможностей.

0

Кроме того, в Snow Leopard, где SymbolicLinker не работает, вы можете создать Сервис с Automator для выполнения команды Terminal или AppleScript для создания символической ссылки.

0

Еще один AS:

tell application "Finder"
    repeat with f in (get selection)
        set p to POSIX path of (f as text)
        set p2 to POSIX path of (desktop as text) & name of f
        do shell script "ln -s " & quoted form of p & " " & quoted form of p2
    end repeat
end tell
0

Возможным улучшением этого сценария будет изменение обработчика запуска для использования выбранных в данный момент файлов из Finder, например:

on run
    tell application "Finder" to set sel to selection
    open sel
end run
on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files as alias)
            if posix_path ends with "/" then set posix_path to ¬
                text 1 thru -2 of posix_path
            try
                do shell script "ln -s " & quoted form of posix_path ¬
                    & " " & quoted form of (posix_path & ".sym")
            on error
                try
                    do shell script "ln -s " & quoted form of posix_path ¬
                        & " " & quoted form of (posix_path & ".sym") with administrator privileges

                end try
            end try
        end try
    end repeat
end open

Вы также можете отредактировать [application]/Contents/Info.plist для добавления

<key>LSUIElement</key>
<true/>

Прямо перед последним </dict>. Это будет означать, что приложение будет работать в фоновом режиме и не будет отображаться сразу после нажатия на него.

-1

Попробуйте поискать здесь: http://www.techiecorner.com/528/how-to-create-shortcut-in-mac-os-x/

Это уже встроено в OSX, если вы нажимаете клавишу управления, когда нажимаете на что-то.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .