在Mac OS X Finder中创建符号链接


39

有没有办法获得与ln -sMac OS X Finder(OS 10.5)中的unix命令相同的功能?我希望能够在Finder窗口中工作而无需打开终端的情况下创建符号链接。

请注意,Make AliasFinder 中的命令不是我想要的,因为这些别名无法在终端中导航(但是ln -s,使用终端和Finder都可以导航使用创建的链接)。


macOS确实应该为高级用户提供此功能。
安迪

Answers:


16

通过AppleScript在Finder创建符号链接怎么样 ?

这是该链接中最相关的脚本:

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
该链接的第二条评论,由jonn8n留下,提供了我一直在寻找的功能。虽然,令我有些惊讶的是,Finder本身不可能做到这一点。
迈克尔·施耐德

您的链接很烂
Ben Leggiero

27

SymbolicLinker可以完全满足您的需求,而且它是免费的。

替代文字


3
FWIW,SymbolicLinker仍可在Mavericks 10.9.3中使用。
martineau 2014年

1
您的链接已死。您链接到这个了吗?macupdate.com/app/mac/10433/symboliclinker
Ben Leggiero

SymbolicLinker已死,至少在Mavericks为止。
戴夫·兰德

只需注意一下,即可确认这对Mojave仍然有效。还值得注意的是,链接的Github站点上的Releases选项卡带有.dmg,其中包含服务和安装说明,以免您自己构建它。
罗宾·马查格

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

我使用脚本编辑器将此保存为应用程序,然后将其拖到Finder边栏中,这样我现在可以通过将文件或文件夹拖到应用程序图标上来创建符号链接。



1

使用Automator.app创建服务执行bash脚本。这比AppleScript更简单,而且比安装第三方软件更可靠。

for f in "$@"
do
    ln -s "$f" "$f.symlink"
done

进行符号链接

然后,您可以访问“ 服务”菜单下的“ 建立符号链接”命令:

在此处输入图片说明

结果:

在此处输入图片说明


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>之前。这意味着该应用程序将在后台运行,并且在您单击它时不会出现在最前面。


0

此外,在SymbolicLinker无法使用的Snow Leopard中,您可以使用Automator创建服务以执行Terminal命令或AppleScript来创建符号链接。


1
实际上,至少从2009
。– cregox 2011年

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

-1

尝试在这里查看:http : //www.techiecorner.com/528/how-to-create-shortcut-in-mac-os-x/

如果在单击某些内容时按控制键,则OSX已经内置了该功能。


5
只是它不是创建的符号链接。您可以cd进入到文件夹的符号链接,但不能进入Finder别名。阅读问题,它已经说明了这一点。(主持人:我们可能希望保留这个未回答的内容,以防止进一步的回答)
丹尼尔·贝克

5
@daniel我怀疑这将有助于预防,因为这一行的答案通常来自非阅读者。:P
cregox
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.