Tell HN: macOS's `open` util is nifty

15 points by surprisetalk ↗ HN
Open current dir in Finder:

  open .
Open a CSV in default spreadsheet program:

  open example.csv
Open the same CSV in TextEdit instead:

  open -a TextEdit example.csv

10 comments

[ 3.8 ms ] story [ 70.9 ms ] thread
Yep, `open` is great

I regularly use it to open a Finder window with the current directory

On Linux there is a similar tool called `xdg-open` for graphical desktop environment users

My favorite simple alias is just "alias run=xdg-open $1"
Neat, thanks, did not know about this!
(comment deleted)
-a is a good example for opening with the non-default app (tip: leave out the file argument to simply launch the app), but to open specifically with TextEdit there is -e:

    open -e example.csv
And -t opens with the default text editor.

Other useful options include -j to launch the app hidden, -R to reveal the file in the Finder, -W to stop execution until the app exits (useful for scripts), and -n to launch a new instance of the app (new icon will show up in the Dock). You can connect multiple flags for more complex effects.

For example, I have a script which opens iA Writer and waits until I close it before continuing. If I already have it open and editing other stuff, -W will wait for that instance of the app to close, which is a bother. So instead I do:

    open -Wna 'iA Writer' example.txt
Which opens a new instance of the app and waits until that one is closed, thus avoiding interfering with previous work.

Highly recommend taking a look at man open. It isn’t long but it is quite useful.

I’ll throw in here that you can very easily copy a file path in finder by right clicking on the file, and holding down the option key and selecting the menu item that says so.

Alternatively, you can drag a file into the terminal and it will paste the file path there, which is really cool.

Similarly on Windows:

- Open current directory in Explorer:

  explorer .
- Open a file (prompts which program to open it with):

  explorer README.md