Как скопировать путь к файлу Unix в OS X Yosemite

48

Когда я пытаюсь получить путь к файлу, используя ⌘ (Command)+ I, он дает путь другим способом.

Я вижу это только после обновления до Yosemite. Это не текст. Как мне получить его в формате /Users/Myself/Documents/…?

MaDu_LK
источник

Ответы:

44

Просто выберите сам файл в Finder и нажмите CmdCили перейдите в « Правка»> «Копировать» . Затем вы можете вставить путь непосредственно в окно терминала.

Обратите внимание, что это будет экранировать специальные символы.

Если вам нужен путь в удобочитаемой форме, вам нужно сделать следующее:

  • Открыть утилиты / Automator.app
  • Создать новый сервис
  • Установите его, чтобы не получать вход от Finder.app
  • Перетащите Запуск AppleScript с левой панели вправо
  • Вставьте следующее в поле:

    tell application "Finder"
        set sel to the selection as text
        set the clipboard to POSIX path of sel
    end tell
    
  • Это должно выглядеть так:

  • Сохраните сервис под любым именем, например, Скопируйте понятный человеку путь .

Это первая часть. Теперь установите сочетание клавиш:

  • Глава  »Системные настройки» Клавиатура »Сочетания клавиш
  • Перейдите в раздел « Услуги » и прокрутите вниз
  • Установите сочетание клавиш для вашего сервиса

Et voilà, теперь нажмите этот ярлык, когда вам нужен путь к любому выбранному элементу Finder.

slhck
источник
8
Спасибо, мужик. Я думаю, что это недопустимо (особенно Apple), что кто-то, как я, должен тратить время, чтобы найти способ скопировать путь к файлу в 2014 году !!!
Apperside
Это очень полезно! Однако, как мне заставить его появляться в моем списке ярлыков, так как его там нет. (сохранил как сервис). Это должно быть в определенном месте?
3
1
@danielCrabbe Это должно быть сохранено в ~/Library/Services, я думаю. FastScripts может помочь вам, если настройки ярлыков по умолчанию не работают.
Slhck
1
Я хотел бы, чтобы это работало для вставки в Finder Go to Folder…( command-shift-g).
Jtheletter
1
Я улучшил рабочий процесс Automator, который принимает входные данные из Finder и, следовательно, будет правильно доступен / недоступен в зависимости от того, что вы делаете в Finder: dl.dropboxusercontent.com/u/147461/screenshots/…
Abhi
13

Откройте «Терминал» Applications > Utilities > Terminalи перетащите файл в окно. Полный путь Unix файла будет отображаться.

JakeGould
источник
4
Я уже упоминал об этом в своем ответе. Проблема в том, что ОП не хочет сбежавший путь, я думаю.
slhck
1
@slhck Эххх. Хорошо. Но теперь это еще одна причина отложить обновление до Yosemite. Так много вопросов, больших и малых, для тех, кто занимается производственной работой.
JakeGould
2
Да, это немного неудобно. Я больше не использую этот Mac для «производства», но я продолжаю обнаруживать незначительные изменения, которые создают ощущение, что я должен был остаться с 10,9 чуть дольше.
slhck
3

Щелкните правой кнопкой мыши (или удерживайте нажатой клавишу «Control») на значке файла, затем удерживайте нажатой клавишу «Option». В появившемся всплывающем меню появится пункт меню «Копировать имя файла» как «Путь». Этот пункт меню поместит путь POSIX к элементу в буфере обмена.

ThomasW
источник
1
Согласно osxdaily.com/2015/11/05/… Это стало доступным с версией OS X 10.11
TecBrat
@TecBrat Да, это может быть не в Йосемити, но теперь доступно.
ThomasW
1

Перетащите файл в textEdit, чтобы получить путь.

Перетаскивание файла в Терминал заменит пробелы или специальные символы в имени файла на обратную косую черту.

Крутой Брайан
источник
Можете ли вы объяснить, что вы подразумеваете под «случайными слешами»? Когда вы перетаскиваете файл в окно терминала и в нем есть пробелы (или другие специальные символы), они будут экранированы для оболочки с обратной косой чертой, например foo barбудут преобразованы в foo\ bar.
Slhck
-1

Перейдите к файлу. Скопируйте файл (Cmd + C). Откройте TextEdit или заметки. Вставить (Cmd + V).

Магия!

DanielZ_UK
источник
6
Это не копирует путь, а только имя файла. Приложение, в которое вы вставляете, реализует это поведение, и только Терминал, кажется, вставляет полный путь (хотя и экранированный).
Slhck