Открыть окно Finder из текущего местоположения терминала?

Если я нахожусь на определенном пути в окне терминала, как я могу открыть это же окно в новом окне Finder?

Примечание. Это противоположно открытию терминала из Finder .

Как это делается в Mavericks?
@WolfgangFahl, эта open .техника все еще работает для меня.

Ответы (5)

Ввод open .в Терминале откроет текущий рабочий каталог в окне Finder.

Спасибо, это было именно то, что я искал. Я видел это раньше, но забыл.
Похоже, это сломано в 10.9 Mavericks. Любое обходное решение?
@WolfgangFahl У меня все еще работает в 10.9 Mavericks.
@WolfgangFahl Была ли ваша установка Mavericks новой установкой или обновлением? Моя обновленная установка Mavericks позволяет мне использовать эту команду.
из четырех установок Mavericks проблема возникла только один раз при установке обновления. Все остальные были в порядке. Проблема с установкой обновления также исчезла через некоторое время. Странный ...
Также работаю над Yosemite 10.10.5 здесь.
Работает на macOS High Sierra
Связанный: вы можете переключиться на существующее окно Finder, используяopen /System/Library/CoreServices/Finder.app

Натяжная цель!

Чтобы расширить ответ выше (поскольку более подходящий связанный вопрос помечен как обман и не может получить новые ответы)...

Я добавил функцию в свой ~/.bash_profile для обработки раскрытия файла или каталога:

# Reveal a file or directory in Finder
reveal() {
  # grab the first arg or default to pwd
  local basedir=${1:-${PWD}}

  if [[ -f "$basedir" ]]; then
    # ..we passed a file, so use its containing directory
    basedir=$(dirname "$basedir")
  fi
  # basedir is a directory in now, so open will activate Finder.
  # The argument is quoted to accommodate spaces in the filename.
  open "$basedir"
}

…один лайнер:

reveal() { local dir=${1:-${PWD}}; [[ -f "$dir" ]] && dir=$(dirname "$dir") || true; open "$dir"; }

Чтобы установить функцию:

  • вставьте/сохраните его в ~/.bash_profile
  • source ~/.bash_profileили откройте новый терминал/вкладку

Контекст для моего использования заключается в том, что я буду просматривать использование lsс завершением табуляции, а затем, когда я нахожу то, что ищу, я могу reveal(или cdили subl) самый последний аргумент, например:

ls dir/subdir<tab tab>
subsubdir  anotherdir
ls dir/subdir/anotherdir
reveal !$

Спасибо @nohillside, @Ed Randall и сообществу за улучшения!

стоит отметить, что единственное, к чему это добавляет, open .— это возможность передать имя файла и получить содержащий его каталог :)
Хороший план, я немного упростил и расширил его: (1) назвал функцию finder; (2) первая строка внутри функции local basedir=${1:-${PWD}}(3) сократила if/else доif [[ -f ${basedir} ]] ; basedir=$(dirname ${basedir}) ; fi
Передай @ЭдРэндалл! Может быть, кто-нибудь придет и поможет мне понять, как также разрешить передачу этой функции, не дожидаясь ввода, когда стандартный ввод пуст 😆! cf unix.stackexchange.com/questions/33049/…
open .

В качестве приятного дополнения добавьте псевдоним в .bash_profile или .bash_aliases, если он у вас есть.

alias finder='open'

Затем вы можете использовать finder .то, что я считаю более интуитивным.

@ Аллан, я не уверен, что вы прочитали мое предложение или поняли, что такое псевдоним bash ...
да, вы правы, я поменял их местами. исправлено.
Проголосовал за исправление ... плюс это хорошая идея.

Если вы autojumpустановили, вам даже не нужно вводить полный путь к каталогу. Вы можете просто ввести jo partialdirectoryname, и автопереход откроет новое окно Finder в указанном каталоге.

Мне нравится этот метод, потому что вам не нужно запоминать полное имя каталога. Autojump хранит список наиболее часто используемых местоположений и автоматически определяет, на какой каталог вы ссылаетесь, даже если вы дадите ему только часть имени.

У меня установлен автопрыжок, но я получаюjo command not found

Ввод open .в Терминале откроет текущий рабочий каталог в окне Finder.
Но есть и альтернативная версия

open `pwd`