So kopieren Sie den Unix-Dateipfad in OS X Yosemite

48

Wenn ich versuche, den Pfad einer Datei mit ⌘ (Command)+ zu ermitteln I, wird der Pfad anders angegeben.

Das sehe ich erst nach dem Update auf Yosemite. Es ist kein Text. Wie bekomme ich es im Format /Users/Myself/Documents/…?

MaDu_LK
quelle

Antworten:

44

Wählen Sie einfach die Datei selbst im Finder aus und drücken Sie CmdCoder gehen Sie zu Bearbeiten »Kopieren . Sie können den Pfad dann direkt in ein Terminalfenster einfügen.

Beachten Sie, dass dies Sonderzeichen entgeht.

Wenn Sie den Pfad in lesbarer Form haben möchten, müssen Sie Folgendes tun:

  • Öffnen Sie Utilities / Automator.app
  • Erstellen Sie einen neuen Service
  • Legen Sie fest, dass keine Eingabe von Finder.app empfangen wird
  • Ziehen Sie "AppleScript ausführen" aus dem linken Bereich nach rechts
  • Fügen Sie Folgendes in das Feld ein:

    tell application "Finder"
        set sel to the selection as text
        set the clipboard to POSIX path of sel
    end tell
    
  • Es sollte so aussehen:

  • Speichern Sie den Dienst unter einem beliebigen Namen, z. B. " Vom Menschen lesbaren Pfad kopieren" .

Dies ist Teil eins. Legen Sie nun eine Tastenkombination fest:

  • Gehen Sie zu  »Systemeinstellungen» Tastatur »Verknüpfungen
  • Gehen Sie zum Bereich Dienste und scrollen Sie nach unten
  • Legen Sie eine Tastenkombination für Ihren Dienst fest

Und jetzt drücke auf diesen Shorcut, wenn du den Pfad eines ausgewählten Finder-Gegenstands benötigst.

slhck
quelle
8
Danke mann. Ich finde es inakzeptabel (vor allem von Apple), dass jemand wie ich 2014 Zeit verschwenden muss, um einen Weg zu finden, einen Dateipfad zu kopieren !!!
Apperside
Das ist sehr hilfreich! Wie kann ich jedoch dafür sorgen, dass es in meiner Shortcuts-Liste als nicht vorhanden angezeigt wird? (als Service gespeichert). Muss es an einem bestimmten Ort sein?
V3nt
1
@danielCrabbe Es sollte gespeichert werden ~/Library/Services, denke ich. FastScripts kann Ihnen helfen, wenn die Standardeinstellungen für Verknüpfungen nicht funktionieren.
Slhck
1
Ich wünschte, dies würde beim Einfügen in Finder's Go to Folder…( command-shift-g) funktionieren .
7.
1
Ich habe einen besseren Automator-Workflow erstellt, der Eingaben vom Finder akzeptiert und daher ordnungsgemäß verfügbar / nicht verfügbar ist, je nachdem, was Sie im Finder tun: dl.dropboxusercontent.com/u/147461/screenshots/…
Abhi Beckert
13

Öffnen Sie das "Terminal" in Applications > Utilities > Terminalund ziehen Sie die Datei in das Fenster. Der vollständige Unix-Pfad der Datei wird angezeigt.

JakeGould
quelle
4
Das habe ich bereits in meiner Antwort erwähnt. Das Problem ist, dass das OP keinen Fluchtweg will, denke ich.
Slhck
1
@slhck Ehhh. Okay. Aber jetzt ist es ein weiterer Grund, das Upgrade auf Yosemite zu verschieben. So viele große und kleine Probleme für jeden, der Produktionsarbeit leistet.
JakeGould
2
Ja, es ist ein bisschen unpraktisch. Ich benutze diesen Mac nicht mehr zum "Produzieren", aber ich entdecke immer wieder kleinere Änderungen, die mir das Gefühl geben, ich hätte länger bei 10.9 bleiben sollen.
Slhck
3

Klicken Sie mit der rechten Maustaste (oder bei gedrückter Ctrl-Taste) auf das Dateisymbol und halten Sie die Optionstaste gedrückt. Im angezeigten Popup-Menü wird der Menüpunkt "Dateiname" als Pfadname kopieren " angezeigt. Dieses Menüelement fügt den POSIX-Pfad zu dem Element in die Zwischenablage ein.

ThomasW
quelle
1
Laut osxdaily.com/2015/11/05/… wurde dies mit der Version OS X 10.11
TecBrat
@TecBrat Ja, das ist vielleicht nicht in Yosemite, aber es ist jetzt verfügbar.
ThomasW
1

Ziehen Sie die Datei in textEdit, um den Pfad zu erhalten.

Durch Ziehen der Datei in Terminal werden Leerzeichen oder Sonderzeichen im Dateinamen durch Backslashes ersetzt.

Cooler Brian
quelle
Können Sie erklären, was Sie mit "zufälligen Schrägstrichen" meinen? Wenn Sie die Datei in ein Terminalfenster ziehen und die Datei Leerzeichen (oder andere Sonderzeichen) enthält, werden diese für die Shell mit Backslashes maskiert, z. B. foo barin konvertiert foo\ bar.
Slhck
-1

Navigieren Sie zu der Datei. Kopieren Sie die Datei (Cmd + C). Öffnen Sie TextEdit oder Notes. Einfügen (Cmd + V).

Magie!

DanielZ_UK
quelle
6
Dies kopiert nicht den Pfad, sondern nur den Dateinamen. Die Anwendung, die Sie einfügen, implementiert dieses Verhalten, und nur Terminal scheint den vollständigen Pfad einzufügen (escape).
Slhck