สร้างลิงก์สัญลักษณ์ใน Finder Mac OS X


39

มีวิธีรับฟังก์ชั่นเดียวกับคำสั่ง unix ln -sใน Mac OS X Finder (OS 10.5) หรือไม่? ฉันต้องการสร้างลิงก์สัญลักษณ์ขณะทำงานใน Finder windows โดยไม่ต้องเปิด Terminal

โปรดทราบว่าMake Aliasคำสั่งใน Finder ไม่ใช่สิ่งที่ฉันต้องการเพราะนามแฝงเหล่านั้นไม่สามารถสำรวจได้ในเทอร์มินัล (แต่ลิงก์ที่สร้างขึ้นด้วยln -sสามารถสำรวจได้โดยทั้งเทอร์มินัลและ Finder)


macOS ควรให้สิ่งนี้เป็นคุณสมบัติการเลือกใช้สำหรับผู้ใช้ระดับสูง
Andy

คำตอบ:


16

แล้ว การสร้างลิงก์สัญลักษณ์ใน 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
ความคิดเห็นที่ 2 ที่ลิงค์นั้นเหลือไว้โดย jonn8n ให้ฟังก์ชั่นที่ผมต้องการอย่างแน่นอน แม้ว่าฉันจะแปลกใจเล็กน้อยที่ไม่สามารถทำได้ใน Finder เอง
Michael Schneider

ลิงก์ของคุณเน่าเสีย
Ben Leggiero

27

SymbolicLinkerจะทำสิ่งที่คุณต้องการอย่างแน่นอนและฟรี

ข้อความแสดงแทน


3
FWIW SymbolicLinker ยังคงทำงานใน Mavericks 10.9.3
martineau

1
ลิงก์ของคุณเสียชีวิต คุณเชื่อมโยงกับสิ่งนี้หรือไม่? macupdate.com/app/mac/10433/symboliclinker
Ben Leggiero

SymbolicLinker นั้นตายแล้วอย่างน้อยต้องเป็น Mavericks
เดฟแลนด์

เพิ่งทราบเพื่อยืนยันว่ายังคงใช้งานได้ในโมฮาวี นอกจากนี้ยังควรสังเกตว่าแท็บ Release บนเว็บไซต์ Github ที่เชื่อมโยงนั้นมี. dmg พร้อมคำแนะนำการบริการและการติดตั้งเพื่อบันทึกการสร้างด้วยตัวเอง
Robin Macharg

2

applescript ที่ลิงก์ที่ให้ไว้โดยผู้ใช้nucตอบคำถามของฉัน นี่คือ applescript ทำซ้ำในกรณีที่ลิงก์นั้นหายไป

ฉันต้องการสคริปต์ที่กำหนดโดย jonn8n แสดงความคิดเห็นซึ่งยังถูกทำซ้ำเป็นบทความนิตยสาร

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 เพื่อสร้างบริการที่ดำเนินการสคริปต์ทุบตี สิ่งนี้ง่ายกว่า AppleScript และเชื่อถือได้มากกว่าการติดตั้งซอฟต์แวร์บุคคลที่สาม

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

ทำ Symbolic Link.workflow

จากนั้นคุณสามารถเข้าถึงคำสั่งสร้างลิงก์สัญลักษณ์ได้ในเมนูบริการ :

ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์:

ป้อนคำอธิบายรูปภาพที่นี่


0

การปรับปรุงที่เป็นไปได้ของสคริปต์นี้คือการเปลี่ยน run handler เพื่อใช้ไฟล์ที่เลือกในปัจจุบันจาก 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

นอกจากนี้คุณยังสามารถแก้ไข [แอปพลิเคชัน] /Contents/Info.plist เพื่อเพิ่ม

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

ก่อนหน้า </dict> สุดท้าย นี่หมายความว่าแอปจะทำงานในพื้นหลังและจะไม่ปรากฏขึ้นมาเมื่อคุณคลิก


0

นอกจากนี้ใน Snow Leopard ที่ SymbolicLinker ไม่ทำงานคุณสามารถสร้างบริการด้วย Automator เพื่อทำคำสั่ง Terminal หรือ AppleScript เพื่อสร้างลิงก์สัญลักษณ์


1
ที่จริง SymbolicLinker ทำงานกับเสือดาวหิมะตั้งแต่อย่างน้อยเดือนธันวาคม 2009
cregox

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 alias ได้ อ่านคำถามมันระบุไว้นี้แล้ว (ผู้ดำเนินรายการ: เราอาจต้องการออกจากคำตอบนี้เพื่อป้องกันคำตอบเพิ่มเติมในบรรทัดนี้)
Daniel Beck

5
@ แดเนียลฉันสงสัยว่ามันจะช่วยป้องกันได้มากเนื่องจากคำตอบในบรรทัดนี้มักมาจากคนที่ไม่อ่าน : P
cregox
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.