Jak skopiować ścieżkę do pliku Unix w OS X Yosemite

48

Kiedy próbuję uzyskać ścieżkę do pliku za pomocą ⌘ (Command)+ I, ścieżka jest podana w inny sposób.

Widzę to dopiero po aktualizacji do Yosemite. To nie jest tekst. Jak uzyskać to w formacie /Users/Myself/Documents/…?

MaDu_LK
źródło

Odpowiedzi:

44

Wystarczy wybrać sam plik w Finderze i nacisnąć CmdClub przejść do Edycja »Kopiuj . Następnie możesz wkleić ścieżkę bezpośrednio do okna terminala.

Pamiętaj, że ucieknie to od znaków specjalnych.

Jeśli chcesz, aby ścieżka była czytelna dla człowieka, musisz wykonać następujące czynności:

  • Otwórz Utilities / Automator.app
  • Utwórz nową usługę
  • Ustaw, aby nie odbierać danych wejściowych z Finder.app
  • Przeciągnij Uruchom AppleScript z lewego panelu w prawo
  • Wklej następujące pola:

    tell application "Finder"
        set sel to the selection as text
        set the clipboard to POSIX path of sel
    end tell
    
  • To powinno wyglądać tak:

  • Zapisz usługę pod dowolną nazwą, np. Skopiuj ścieżkę czytelną dla człowieka .

To jest pierwsza część. Teraz ustaw skrót klawiaturowy:

  • Przejdź do  »Preferencje systemowe» Klawiatura »Skróty
  • Przejdź do sekcji Usługi i przewiń w dół
  • Ustaw skrót klawiaturowy dla swojej usługi

Et voilà, teraz naciśnij ten skrót, gdy potrzebujesz ścieżki dowolnego wybranego elementu Findera.

slhck
źródło
8
Dziękuje. Myślę, że niedopuszczalne (szczególnie przez Apple) jest to, że ktoś taki jak ja musi tracić czas, aby znaleźć sposób na skopiowanie ścieżki pliku w 2014 roku !!!
Apperside
To jest bardzo pomocne! Jak mogę go jednak wyświetlić na liście skrótów, ponieważ go nie ma? (zapisany jako usługa). Czy musi znajdować się w określonej lokalizacji?
v3nt
1
@danielCrabbe To chyba powinno być zapisane ~/Library/Services. Skrypty FastScript mogą ci pomóc, jeśli domyślne preferencje skrótów nie działają.
slhck
1
Chciałbym, żeby to zadziałało podczas wklejania do Findera Go to Folder…( command-shift-g).
jtheletter
1
Zrobiłem lepszy przepływ pracy Automatora, który akceptuje dane wejściowe z Findera, a zatem będzie odpowiednio dostępny / niedostępny w zależności od tego, co robisz w Finderze: dl.dropboxusercontent.com/u/147461/screenshots/...
Abhi Beckert
13

Otwórz „Terminal” w, Applications > Utilities > Terminala następnie przeciągnij plik do okna. Wyświetlona zostanie pełna ścieżka uniksowa pliku.

JakeGould
źródło
4
Wspomniałem już o tym w mojej odpowiedzi. Problem polega na tym, że OP nie chce ścieżki ucieczki.
slhck
1
@slhck Ehhh. W porządku. Ale teraz jest to kolejny powód, aby opóźniać aktualizację do Yosemite. Tyle spraw dużych i małych dla każdego, kto wykonuje prace produkcyjne.
JakeGould
2
Tak, to trochę niewygodne. Nie używam już tego komputera Mac do „produkcji”, ale odkrywam drobne zmiany, które sprawiają, że mam wrażenie, że powinienem zostać z 10.9 trochę dłużej.
slhck
3

Kliknij ikonę pliku prawym przyciskiem myszy (lub klawiszem Control), a następnie przytrzymaj klawisz opcji. W wyskakującym menu, które się pojawi, pojawi się pozycja menu „Kopiuj ” nazwa pliku jako nazwa ścieżki. Ten element menu umieści ścieżkę POSIX do elementu w schowku.

ThomasW
źródło
1
Według osxdaily.com/2015/11/05/… To stało się dostępne w wersji OS X 10.11
TecBrat
@TecBrat Tak, to może nie być w Yosemite, ale jest już dostępne.
ThomasW,
1

Przeciągnij plik do textEdit, aby uzyskać ścieżkę.

Przeciągnięcie pliku do terminala zastąpi spacje lub znaki specjalne w nazwie pliku odwrotnymi ukośnikami.

Fajny Brian
źródło
Czy możesz wyjaśnić, co rozumiesz przez „losowe ukośniki do przodu”? Gdy przeciągniesz plik do okna terminala, a plik będzie zawierał spacje (lub inne znaki specjalne), zostaną one oznaczone jako ucieczka dla powłoki z ukośnikami odwrotnymi, np. foo barZostaną przekonwertowane na foo\ bar.
slhck
-1

Przejdź do pliku. Skopiuj plik (Cmd + C). Otwórz TextEdit lub Notes. Wklej (Cmd + V).

Magia!

DanielZ_UK
źródło
6
To nie kopiuje ścieżki, ale tylko nazwę pliku. Aplikacja, którą wklejasz w celu zaimplementowania tego zachowania, i tylko Terminal wydaje się wklejać pełną ścieżkę (mimo to, że uciekała).
slhck