How to use the Terminal command line in macOS
The Terminal app allows you to control your Mac using a command prompt. Why would you want to do that? Well, perhaps because you're used to working on a command line in a Unix-based system and prefer to work that way. In this article, we'll explain what Terminal is and show you how to use it.
What is Terminal on Mac
Terminal is a Mac command-line interface. There are several advantages to using Terminal to accomplish some tasks — it's usually quicker, for example. In order to use it, however, you'll need to get to grips with its basic commands and functions. Once you've done that, you can dig deeper and learn more commands and use your Mac's command prompt for more complex, as well as some fun, tasks.
How to open Terminal on Mac
There are several ways to open Terminal on Mac.
1. Open Terminal using Spotlight Search
The first way to open Terminal is to use Spotlight Search. In fact, it's one of the easiest ways to open any app on Mac.
- Click the magnifying glass icon from the menu bar. Or press Command-Space to launch it.
- Start typing 'Terminal' and double-click the search result to open it.
Some users wonder if it is possible to open Terminal using a keyboard shortcut. So far, it's impossible, but you can use the Command-Space shortcut to launch Spotlight search and find Terminal there.
2. Open Terminal From Launchpad
Alternatively, you can go to Launchpad and open Terminal from there. It's in the Utilities folder usually located on the first page of Launchpad.
3. Open Terminal from your Applications folder
Finally, like with any other app, you can open Terminal from your Applications folder.
- Open a new Finder window.
- Navigate to Applications from the sidebar or click Go > Applications from the menu bar.
- Double-click Utilities and find Terminal in this folder.
You'll see a small window with a white background open on your desktop. In the title bar are your username, the word "bash" or "zsh," and the window's dimensions in pixels. Bash stands for "Bourne again shell." There are a number of different shells that can run Unix commands, and on the Mac, Bash is the one used by Terminal. Since macOS Catalina, zsh runs on top of bash. Zsh is easier to use compared with bash because it doesn't require strict user permissions. However, you can switch between the two based on your preferences. Just type
zsh in Terminal to enable the change.
If you want to make the window bigger, click on the bottom right corner and drag it outwards. If you don't like the black text on a white background, go to the Shell menu, choose New Window, and select from the options in the list.
If you have issues with the setup, let us tell you right away that there are alternatives. You can try Core Shell — a third-party terminal for Mac.
For Mac monitoring features, try iStat Menus. The app collects data like CPU load, disk activity, network usage, and more — all of which are accessible from your menu bar.
Basic Mac commands in Terminal
The quickest way to get to know Terminal and understand how it works is to start using it. But before we do that, it's worth spending a little time getting to know how commands work. To run a command, you just type it at the cursor and press Return to execute.
Every command consists of three elements: the command itself, an argument that tells the command what resource it should operate on, and an option that modifies the output. So, for example, to move a file from one folder to another on your Mac, you'd use the "move" command
mv and then type the location of the file you want to move, including the file name and the location where you want to move it to.
Let's try it:
cd ~/Documentsthen and press Return to navigate to your Home folder.
lsand press Return — you press Return after every command.
You should now see a list of all the files in your Documents folder —
ls is the command for listing files.
Unix has its own built-in manual. So, to learn more about a command type
man [name of command], where "[command]" is the name of the command you want to find out more about.
There are a few things you need to bear in mind when you're typing commands in Terminal or any other command-line tool. Firstly, every character matters, including spaces. So when you're copying a command you see here, make sure you include the spaces and that characters are in the correct case.
You can't use a mouse or trackpad in Terminal, but you can navigate using the arrow keys. If you want to rerun a command, tap the up arrow key until you reach it, then press Return. To interrupt a command that's already running, type Control-C.
Commands are always executed in the current location. So, if you don't specify a location in the command, it will run wherever you last moved to or where the last command was run. Use the
cd command, followed by a directory path, like in Step 1 above, to specify the folder where you want a command to run.
There is another way to specify a location: go to the Finder, navigate to the file or folder you want, and drag it onto the Terminal window, with the cursor at the point where you typed the path.
Here's another example. This time, we'll create a new folder inside your Documents directory and call it "TerminalTest."
- Open a Finder window and navigate to your Documents folder.
cdand drag the Documents folder onto the Terminal window.
- Now, type
Go back to the Finder, open Text Edit, and create a new file called "TerminalTestFile.rtf." Now, save it to the TerminalTest folder in your Documents folder.
In the Terminal window, type
cd ~/Documents/TerminalTest and press Return. Now type
ls — you should see "TerminalTestFile" listed.
To change the name of the file, type this, pressing Return after every step:
cd ~/Documents/Terminal Test
mv TerminalTestFile TerminalTestFile2.rtf
That will change the name of the file to "TerminalTestFile2". You can, of course, use any name you like. The mv command means "move," and you can also use it to move files from one directory to another. In that case, you'd keep the file names the same but specify another directory before typing the second instance of the name, like this:
mv ~/Documents/TerminalTest TerminalTestFile.rtf ~/Documents/TerminalTest2 TerminalTestFile.rtf
More advanced Terminal commands
Terminal can be used for all sorts of different tasks. Some of them can be performed in the Finder but are quicker in Terminal. Others access deep-rooted parts of macOS that aren't accessible from the Finder without specialist applications. Here are a few examples.
Copy files from one folder to another
In a Terminal window, type
ditto [folder 1] [folder 2]where "folder 1" is the folder that hosts the files and "folder 2" is the folder you want to move them to.
To see the files being copied in the Terminal window, type
-vafter the command.
Download files from the internet
You'll need the URL of the file you want to download to use Terminal for this.
curl [URL of the file you want to download]
If you want to download the file to a directory other than your Downloads folder, replace
~/Downloads/ with the path to that folder, or drag it onto the Terminal window after typing the
Change the default location for screenshots
If you don't want macOS to save screenshots to your Desktop when you press Command-Shift-3, you can change the default location in Terminal.
defaults write com.apple.screencapture location
[path to the folder where you want screenshots to be saved]
Change the default file type for screenshots
By default, macOS saves screenshots as .png files. To change that to .jpg, do this:
defaults write com.apple.screencapture type JPG
Delete all files in a folder
The command used to delete or remove files in Terminal is
So, for example, if you wanted to remove a file in your Documents folder named "oldfile.rtf," you'd use
cd ~/Documents to go to your Documents folder and delete the file. As it stands, that will delete the file without further intervention from you.
If you want to confirm the file to be deleted, use
-i as in
rm -i oldfile.rtf
To delete all the files and sub-folders in a directory named "oldfolder," the command is
rm -R oldfolder and to confirm each file should be deleted,
rm -iR oldfolder
Just because you can use Terminal to delete files on your Mac doesn't mean you should. It's a relatively blunt instrument, deleting only those files and folders you specify.
Another way to free up space
If your goal in removing files or folders is to free up space on your Mac or to remove junk files that are causing your Mac to run slowly, it's far better to use an app designed for the purpose. CleanMyMac X is one such app.
It will scan your Mac for files and recommend which ones you can delete safely, as well as telling you how much space you'll save. And once you've decided which files to delete, you can get rid of them with a click. You can download CleanMyMac X here.
As you can see, while Terminal may look scary and seem like it's difficult to use, it really isn't. The key is learning a few commands, such as those we've outlined above, and getting to know the syntax for those commands.
However, you should be careful when using Terminal; it's a powerful tool that has deep access to your Mac's system files. Check commands by googling them if you're not sure what they do. And if you need to delete files to save space, use an app like CleanMyMac X to do it. It's much safer!