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.
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.
Typing open .
in Terminal will open the current working directory in a Finder window.
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:
source ~/.bash_profile
or open a new terminal/tabThe 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!
open .
is allowing us to pass a filename and get the containing directory :)
finder
; (2) first line inside the function local basedir=${1:-${PWD}}
(3) shortened the if/else to if [[ -f ${basedir} ]] ; basedir=$(dirname ${basedir}) ; fi
Commented
Mar 11, 2021 at 9:33
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.
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.
jo command not found
Commented
Mar 21, 2017 at 16:25
Typing open .
in Terminal will open the current working directory in a Finder window.
But there is also an alternative version
open `pwd`
I am afraid just open
is not enough, for example, if you have a directory named /Users/hanley/repo/iconnect/MobileDevice.xcframework
, you will get error after you use open /Users/hanley/repo/iconnect/MobileDevice.xcframework
:
No application knows how to open URL file:///Users/hanley/repo/iconnect/MobileDevice.xcframework/ (Error Domain=NSOSStatusErrorDomain Code=-10814 "kLSApplicationNotFoundErr: E.g. no application claims the file" UserInfo={_LSLine=1608, _LSFunction=runEvaluator}).
So I advise we can use open -b com.apple.finder `pwd`
to open current directory in Finder.app
.
For more convenience, you can alias it with alias ofd='open -b com.apple.finder `pwd`'
, then ofd
command will directly open current directory in Finder.app
For more usage of open
, please read man open
I know this is very old thread. At the terminal typing open .
opens the current directory as others stated. In addition, the following will reveal (but not open) files/folder open -R .
A combination of both becomes really powerful and time saver. You can also open all the Text files with open *.txt
command in the current directory. How cool is that!