How to use Terminal on Mac. Terminal brings the command line back to your Mac. Here's how to use it to customise and troubleshoot your Mac, and the most commonly used Terminal commands. Mar 21, 2018 How to open Terminal on Mac. The Terminal app is in the Utilities folder in Applications. To open it, either open your Applications folder, then open Utilities and double-click on Terminal, or press Command - spacebar to launch Spotlight and type 'Terminal,' then double-click the search result.
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.
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
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:
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
Main
(PRODUCT)REDApple is now redirecting (PRODUCT)RED purchases to COVID‑19 relief fund
Now through September 30, Apple is redirecting 100% of a portion of (PRODUCT)RED purchases to the Global Fund’s COVID‑19 Response.
Welcome back to Coding Corner! Today, we're going to go over some great interface and user tweaks you can execute to customize your Mac. These tricks are often simple and can help you spruce up your Mac far beyond what the System Preferences window allows.
So, without further ado, 15 great tricks you can execute in Terminal.
Tweak the Finder
Want to see hidden files, or copy Quick Look text? There are quite a few 'defaults' commands that let you alter how the Finder looks or acts.
1. Show hidden files and folders
Want to see all the hidden files and folders OS X has to offer — or you simply can't find a file you hid? Just use this command in Terminal:
defaults write com.apple.finder AppleShowAllFiles -bool TRUE
killall Finder
To re-hide all your files, just change the TRUE
to FALSE
.
2. View any file's contents
If you've had a file get corrupted or you suspect there's something hidden inside its package, you can force Terminal to open it. Just use the following command:
cat ~/enter/file/path
Fair warning: If you try to open a photo or pretty much any non-text document, you'll likely just see text gibberish.
3. Copy the contents of a folder from one place to another
Sure, you can Option-drag any file to a new location to make a copy of it, but if you want to simplify the process and automatically copy the entire contents of one folder to another, check out this simple Terminal trick.
ditto -V ~/original/folder/ ~/new/folder/
4. Download files outside of your browser
Have the URL to a file but don't want to use Safari, Firefox, or Chrome to download it? You can go through Terminal with the following commands:
cd ~/Downloads/
curl -O http://www.thefilename.com/thefile/url.mp3
The first command moves your current Terminal location to your Downloads folder; the second downloads it from the web to that folder.
Modifying screenshots
Want to change how your screenshots look? Here are some commands to help you do just that.
5. Change your screenshot's file format
This Terminal command lets you change the file format of your screenshots. By default, they're saved as PNGs, but you can also save them as PDFs, JPGs, and more.
defaults write com.apple.screencapture type jpg
6. Disable drop shadows on a screenshot
Here's another good one if you tend to take a lot of screenshots: This command will disable drop-shadow on your screenshots, only displaying the window you've snapped.
$ defaults write com.apple.screencapture disable-shadow -bool TRUE
killall SystemUIServer
7. Create a new default name scheme for screenshots
Don't like the phrase Apple uses to save your screenshots? Traditionally, it's 'Screen Shot - [date] - [time]', but you can change 'Screen Shot' to any word you please.
defaults write com.apple.screencapture name 'New Screen Shot Name'
killall SystemUIServer`
Get bored of your new name scheme? Go back to the default by typing as follows:
defaults write com.apple.screencapture name '
killall SystemUIServer
8. Change the location of your screenshots
Your screenshots, by default, save to the Desktop. But if you'd prefer they save elsewhere, it's an easy Terminal trick to make it so.
defaults write com.apple.screencapture location ~/your/location/here
killall SystemUIServer
You can also drag the folder of your choice on top of the Terminal window after typing 'location' if you don't want to manually type out the file path.
System changes
If you're looking for broader OS X-level changes, these commands might help you get started.
9. Create a custom login message
Whether you want to troll your friends or add useful 'in case of loss' contact information, you can add a personalized message to your login screen with this Terminal command.
sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText 'In case of loss, call 555-555-5555.'
10. How long has my Mac been running?
Is your Mac acting sluggishly? It might be in need of a good restart. You can check to see just how long your Mac's been active by checking its uptime with this Terminal command:
uptime
11. Keep your Mac awake
If you need to prevent your Mac from going to sleep — say, you're running an extensive task, or recording your screen — there's an all-too-amusing command for that:
caffeinate
Once you enter this command, your Mac's digital eyes will be pried open and prevented from going to sleep until you end it by pressing Control-C.
If you don't want to rely on being the one to end your poor Mac's suffering, you can also create a set a number of seconds before your Mac sleeps:
caffeinate -u -t 5400
The above command will keep your Mac awake for an hour and a half.
12. Make your Mac automatically restart after a crash
We've all had our Mac freeze up or crash at least once in its lifetime. If you want to skip the crying and the yelling at the screen and get back to work, you can enter this Terminal command, which will make OS X reboot as soon as it senses a full system freeze.
sudo systemsetup -setrestartfreeze on
Modify your Dock
Want to make your Dock look different? Check out these Terminal tweaks.
13. Add spacers to your Dock
You can organize your Dock's many icons by adding in blank spaces with this handy terminal command:
defaults write com.apple.dock persistent-apps -array-add '{'tile-type'='spacer-tile';}'
killall Dock
Repeat this command for each spacer you'd like for your Dock. To remove a spacer, you can drag it out to the right until you see the poof icon.
14. Dull hidden apps in the Dock
Not sure which apps are visible on your screen? You can make this information extra pertinent by using this Terminal command, which lowers the opacity on icons for hidden apps in the Dock. It's a great way to see what you haven't used lately, as well as what's cluttering up your screen.
defaults write com.apple.Dock showhidden -bool TRUE
killall Dock
15. Hide non-active apps in your Dock
If lowering the opacity of hidden apps appeals to you, you might like this Terminal command even better: It hides any closed app from your Dock at all times.
defaults write com.apple.dock static-only -bool TRUE
killall Dock
Your favorites?
Have a Terminal command you love that we didn't mention? Drop it below in the comments.
Mac Terminal Games
(PRODUCT)REDGames For Macbook
Apple is now redirecting (PRODUCT)RED purchases to COVID‑19 relief fund
Terminal Games For Mac And Cheese
Now through September 30, Apple is redirecting 100% of a portion of (PRODUCT)RED purchases to the Global Fund’s COVID‑19 Response.