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


145

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

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


Как это делается в Mavericks?
Вольфганг Фахл

2
@WolfgangFahl open .метод все еще работает для меня.
Джим Маккит

Ответы:


192

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


Спасибо, это именно то, что я искал. Я видел это раньше, но забыл это.
Джим Маккит

Похоже, это сломано в 10,9 Маверикс. Любое решение?
Вольфганг Фахл

@WolfgangFahl Это все еще работает для меня в 10,9 Mavericks.
Джим Маккит

@WolfgangFahl Ваши Mavericks установили новую установку или обновление? Моя обновленная установка Mavericks позволяет мне использовать эту команду.
Кин

из четырех установок Mavericks я выполнил проблему только один раз для установки обновления. Все остальные были в порядке. Проблема с установкой обновления также ушла через некоторое время. Странно ...
Вольфганг Фал

9

Стрейч гол!

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

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

# Reveal a file or directory in Finder
# ..expects only one argument
# the argument is quoted to accommodate spaces in the filename
reveal () {
   # if the first arg is a directory
   if [[ -d "$1" ]];
       then
           # ..use the argument directly
           basedir="$1"
       else
           # ..we passed a file, so use its containing directory
           basedir=$(dirname "$1")
   fi
   # basedir is a directory in now, so open will activate Finder
   open "$basedir"
}

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

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

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

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

1
+1 - спасибо за удобную функцию быстрого доступа - я предпочитаю называть ее locate -;)
software.wikipedia

2
Стоит отметить, что единственное, к чему это добавляет, open .- это позволить нам передать имя файла и получить содержащий каталог :)
ptim

5

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

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


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

4
open .

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

alias finder='open'

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


@Allan Я не уверен, что ты читаешь мое предложение или понимаешь, что такое псевдоним bash ...
Чад Грант,

да, ты прав, я их поменял. исправлено.
Чад Грант

Проголосовал за исправление ... плюс это хорошая идея.
Аллан

3

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

open `pwd`
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.