167

If I am in a specific path in a Terminal window, how can I open that same window in a new Finder window?

Note: This is the opposite of opening a Terminal from Finder.

2
  • How is this done in Mavericks? Nov 11 '13 at 5:18
  • 3
    @WolfgangFahl the open . technique still works for me. Nov 11 '13 at 21:26
218

Typing open . in Terminal will open the current working directory in a Finder window.

8
  • Thanks, that was exactly what I was looking for. I'd seen it before, but forgot it. Jul 30 '11 at 22:14
  • Looks like this is broken in 10.9 Mavericks. Any workaround? Nov 11 '13 at 5:19
  • @WolfgangFahl It still works for me in 10.9 Mavericks. Nov 11 '13 at 21:25
  • @WolfgangFahl Was your Mavericks install a fresh install or an upgrade? My upgraded install of Mavericks lets me use this command.
    – Keen
    Feb 22 '14 at 3:15
  • of four Mavericks installs i did the problem only happend once for an upgrade install. All otheres were fine. The problem with the upgrade install also went away after a while. Strange ... Feb 22 '14 at 16:30
10

Stretch goal!

To expand on the answer above (because the more appropriate related question is marked as a dupe and can't receive new answers)...

I've added a function to my ~/.bash_profile to handle revealing a file or directory:

# 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"
}

…one liner:

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

To install the function:

  • paste/save it into ~/.bash_profile
  • source ~/.bash_profile or open a new terminal/tab

The context for my use is that I'll be browsing around using ls with tab completion, then when I find what I'm looking for, I can reveal (or cd or subl) the most recent arg, like:

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

Thanks to @nohillside, @Ed Randall, and Community for improvements!

4
  • 1
    +1 - thanks for handy shortcut function - I prefer to call it locate - ;) Jun 15 '15 at 20:57
  • 2
    worth noting that the only thing that this adds to open . is allowing us to pass a filename and get the containing directory :)
    – ptim
    Oct 9 '15 at 2:29
  • 1
    Good plan, I simplified and enhanced this slightly: (1) named the function finder; (2) first line inside the function local basedir=${1:-${PWD}} (3) shortened the if/else to if [[ -f ${basedir} ]] ; basedir=$(dirname ${basedir}) ; fi
    – Ed Randall
    Mar 11 at 9:33
  • Tx @EdRandall! Maybe someone will come along and help me understand how to also allow piping to this function without waiting for input when stdin is empty 😆! cf unix.stackexchange.com/questions/33049/…
    – ptim
    Mar 25 at 11:03
5

If you have autojump installed, you don't even have to type the full path to the directory. You can simply type jo partialdirectoryname, and autojump will open a new Finder window in the specified directory.

I love this method, because you don't have to remember the entire directory name. Autojump keeps a list of most commonly used locations, and automatically knows which directory you're referring to, even if you only give it part of the name.

1
  • I do have autojump installed but I get jo command not found Mar 21 '17 at 16:25
4
open .

As a nice addition, add an alias in .bash_profile or .bash_aliases if you have one.

alias finder='open'

Then you can use finder . which I think is more intuitive.

3
  • @Allan I'm not sure you read my suggestion or understand what a bash alias is ...
    – Chad Grant
    Oct 29 '16 at 20:56
  • yeah, you're right, I swapped them around. fixed.
    – Chad Grant
    Oct 29 '16 at 21:02
  • Upvoted for the fix...plus it's a good idea.
    – Allan
    Oct 29 '16 at 21:10
3

Typing open . in Terminal will open the current working directory in a Finder window.
But there is also an alternative version

open `pwd`

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .