Mac Launch App From Terminal

In some flavors of Unix, you feel as if you've been cast into an alternate universe when you open a terminal window and work on the command line. But with OS X and its Darwin core, there's often an elegant integration between the two. In this how-to I'll show you how to launch an OS X app from the command line with the open command.

Apr 19, 2019  Open Terminal using Spotlight Search. One of the quickest and easiest ways to open Terminal on Mac is with Spotlight Search. 1) If you have the Spotlight Search button in your menu bar, click it. Otherwise, you can use the keyboard shortcut Command + Space. 2) Type in “Terminal”. 3) You should see the Terminal application under Top Hit at the top of your results. Sep 18, 2014  In addition, such behaviors might interfere with Apple’s Resume service and not save any of your open windows for the next time you re-launch your program. The “open” command. My preferred method of opening an application from the Terminal is to use the “open” command with the the “-a” flag to specify the application by name. Sep 17, 2008  A.app is not a file. It's a directory that appears to be a file in the finder. Which is why you can't open it via that method. You don't need to use the open utility: just run the executable within the.app.

[Note: A little bit of prior UNIX experience will be helpful here.]

First off, I will admit this technique is fairly geeky. In my [Mac] OS X career, I've only used this trick a handful of times. However, it's so darn cool and charming that one just aches to use it at any opportunity.

Actually, upon reflection, there are some useful scenarios for this technique.

  1. The Finder acts up, a terminal window is already open, and you'd like to be able to launch a GUI app that might help you diagnose the problem.
  2. You're a UNIX professional, live and breathe the command line, but you'd rather use a GUI text editor for coding instead of the raw and ugly vi or Emacs editors.
  3. You're writing, say, a Perl or Python script, for another user and, at some point in the script, you'd like to launch a GUI app that carries the workflow forward.
  4. You want to quickly run a utility with admin privileges without the restriction of the account you're logged into. See, for example, 'How to Find & Recover Missing Hard Drive Space.' In that case, you must bypass the open command and drill into the Package Contents to run the app with sudo and admin privileges. But I've digressed.

The Man Page

The terminal app is in the Utilities folder—which is found the Applications folder. Launch it now. The BSD UNIX command we'll be using is open. Below is the manual page ('man' for short), shown by typing:

I've printed most of the man page for the open command here for your perusal, but I'm not going to explore every argument. And feel free to jump right to the examples below to whet your appetite.

For this limited how-to, one interesting way to use the open command in this context is to use the [-a] option. Some other useful variations and arguments are in the examples below.

Typical Examples

Here are some short and sweet examples of the open command with the -a, -e, and -t arguments. They're easy to try. [If you don't have BBEdit installed, use any other favorite a text editor in /Applications.]

Open Doors

These are just a few of the cool things you can do on the command line with the open command. To keep things simple, I haven't delved into creating a search path or other Unix tricks like aliases. All that's been left for you to explore on your own.

I think this is one of the neatest tricks in OS X.

__________________

Launch button via Shutterstock.

OS X's command line and I have never been what I'd call 'friendly'; rather, we have a mutual respect and understanding about not messing with each other. (Well, as much of a mutual respect as one can have between a human being and a code window.)

While the average person should never have any reason to visit Terminal, Apple's command line interface app actually does give you access to quite a few neat tricks and shortcuts... if you're willing to take a peek.

What is Terminal?

Apple's Terminal app is a direct interface to OS X's bash shell — part of its UNIX underpinnings. When you open it, Terminal presents you with a white text screen, logged in with your OS X user account by default.

Here's the important part: With a system administrator account and password, you have direct access to tweaking almost everything about your computer's software code; that means that while this little window provides great power, it comes with great responsibility. In short, be careful before using Terminal to execute commands, and make sure you understand what you're typing.

You can also use Terminal to securely connect to other machines, web servers, and even create your own scripts, but those are how-tos for another day. For now, we're going to focus on using Terminal to explore your own computer.

Basic Terminal commands you should know

Before we get started with the fun stuff, let's learn some basic Terminal terminology and commands. These form the framework for more complex interactions (aka, the fun stuff).

How to execute a Terminal command

You can type something in the Terminal window until you're blue in the face, but it won't execute until you press the Return key on your keyboard. At that point, it will either return an error if you've typed something incorrectly, or the command will execute.

Unless you're executing a command that requires the display of text in Terminal, you won't have any indicator that what you've done has been successful; you'll just get a new line with your user name on it once the command is finished processing.

When writing commands and paths in Terminal, almost everything is case sensitive: This means that you need to remember to properly capitalize 'Dock' when referring to the Dock, or OS X won't understand your command.

What's a path?

You can use Terminal to get direct access to your files without using the Finder. To do so, you build something called a path. Paths look similar in some ways to website sub-directories, and follow the structure of your folders.

Terminal App For Mac

Paths take two forms: absolute paths and relative paths. An absolute path starts at the root level of your hard drive, and is displayed as '/'. So if you wanted to make a path to your Applications folder, you would write '/Applications/'.

Relative paths are defined based on where you've already navigated to, and represented by './'. For instance, if you go to the '/Applications/' folder in Terminal, that's your current working directory (cwd). You can then get to your Utilities folder by typing './Utilities/' rather than '/Applications/Utilities'.

When you first launch Terminal, you're starting in the current working directory of /Users/myusername/ (also known as your User folder).

How to display and move between files in Terminal

Mac Launch App From Terminal

To actually put all this path knowledge to use, you'll need the Terminal commands for displaying and changing files.

ls: The 'ls' command, by itself, displays the contents of the cwd. So if I were just to type 'ls' in Terminal, it would display the contents of my user directory:

Applications

You can optionally add an absolute or relative or path if you want to view a different directories. So, for example, if I wanted to view the Utilities folder inside Applications, I could type 'ls /Applications/Utilities/'. This won't change your current working directory, but it'll let you view other directories on your hard drive.

You can add options to view more information about that directory. The options for 'ls' include:

  • -l, which lets you view the permissions of each file in the directory
  • -R, which will not only show each folder in the directory, but all their files, as well
  • -a, which will show any hidden files in the current directory

cd: Where the 'ls' command lets you view a directory, the 'cd' command will actually move to that directory (change your cwd). For instance, if after viewing the Utilities folder, you want to move to it, you'd type 'cd /Applications/Utilities/'.

pwd: Write this command by itself to help you remember the path of your current directory. When typed into terminal, it will print the full path of your cwd.

man: This command, followed by another Unix command, lets you read the Unix manual about the second command. This is super useful if you want to try a cool Terminal trick you found online, but aren't sure what those commands actually do.

For instance, typing 'man ls' will get you information on the 'ls' command, which lists directory contents.

How to modify files, folders, and preferences in Terminal

defaults: This command is often used in Terminal tips and tricks to tweak applications and system settings via their preference files. You can use it to do things like disable transparency in the menu bar, always show your scroll bars, change trackpad behavior, and much much more. You'll usually see this paired with either 'write' and a string, as with this:

The code above lets you save all your screenshots as JPGs instead of the system default PNG.

killall: If you execute a Terminal command that affects any system process or app, you're going to need to reboot the process to make it take effect. 'killall' followed by the process will do so. (This is also another way to force quit misbehaving apps or processes if your Force Quit menu isn't behaving.) Remember, this command and its target are case sensitive.

ln: OS X has long offered aliases, which let you create links to files, folders, and applications elsewhere in the system without having to duplicate them. Unfortunately, certain apps don't play well with aliases. With the link command 'ln -s', you can create a low-level, UNIX-based symbolic link which most system processes will recognize. Likely, you'll never have to make a symbolic link, but on the off-chance you want to perform a Terminal trick that requires them, this is how you do it.

The first path listed is your original file's path; the second path is where you'd like your symbolic link.

chflags: This commands lets you view and change the flags on a file or folder. For most people, the only flags you're going to care about are 'hidden' and 'nohidden', which hide and unhide documents, respectively.

sudo: If you spend any time online, you've probably heard of 'sudo' before. This is Unix's override command, and lets you execute any command as an administrator — provided, of course, that you have the requisite password and permissions. It probably goes without saying, but as a Terminal beginner, it's generally a good idea not to mess with commands like 'sudo' unless you are 100 percent sure what you're doing.

How to use Terminal for fun and whimsy

say: Feeling lonely? You can make your computer say anything you like with the 'say' command, and you can even record it in audio format to your desktop, if you so choose.

telnet towel.blinkenlights.nl: This isn't technically something local to your Mac, but it's my all-time favorite Terminal trick. Some kind soul on the internet made an all-ASCII version of Star Wars: A New Hope; run the following code, and you'll be treated to a full showing. If it doesn't make you smile just a little bit, you might be dead inside.

macOS Catalina

Open Terminal In Mac

Main

We may earn a commission for purchases using our links. Learn more.

Closed for 2020

Apple says its offices in the US will not fully reopen until at least 2021

According to a report from Bloomberg, Apple is planning for its office and many of its retail workers to remain remote for the rest of the year.