Hidden behind beautiful Mac screens is the world of Terminal Command lines. Knowing how to use these commands will help you increase your work efficiency in a great way.
Below is a list of the most basic commands divided by purpose of use:

Just like Windows, Mac also comes with its own command prompt line interface, Terminal application (Unix commands). Learning about the Terminal app could come in handy and will help you go deep in Mac OS settings with ease. Not only this, there are other reasons too. One of the coolest ways to get familiar with the Terminal is to use it to open files. Terminal (officially called Terminal.app) is, strictly speaking, an emulator and works off most typical UNIX commands (OS X is a UNIX-based system, as opposed to Windows, which is NT-based). Unlike OS X, which has a graphical user interface (shortened to GUI), Terminal works off a text-based interface and all commands have to be typed in - this. View Hidden Files & Folders. As with Windows, macOS hides all folders which are essential to the. Terminal (officially called Terminal.app) is, strictly speaking, an emulator and works off most typical UNIX commands (OS X is a UNIX-based system, as opposed to Windows, which is NT-based). Unlike OS X, which has a graphical user interface (shortened to GUI), Terminal works off a text-based interface and all commands have to be typed in - this.
CORE COMMANDS
Key/Command | Description |
---|---|
cd [folder] | Change directory e.g. cd Documents |
cd | Home directory |
cd ~ | Home directory |
cd / | Root of drive |
cd – | Previous directory |
ls | Short listing |
ls -l | Long listing |
ls -a | Listing incl. hidden files |
ls -lh | Long listing with Human readable file sizes |
ls -R | Entire content of folder recursively |
sudo [command] | Run command with the security privileges of the superuser (Super User DO) |
open [file] | Opens a file ( as if you double clicked it ) |
top | Displays active processes. Press q to quit |
nano [file] | Opens the file using the nano editor |
vim [file] | Opens the file using the vim editor |
clear | Clears the screen |
reset | Resets the terminal display |
CHAINING COMMANDS
Key/Command | Description |
---|---|
[command-a]; [command-b] | Run command A and then B, regardless of success of A |
[command-a] && [command-b] | Run command B if A succeeded |
[command-a] || [command-b] | Run command B if A failed |
[command-a] & | Run command A in background |
PIPING COMMANDS
Key/Command | Description |
---|---|
[command-a] | [command-b] | Run command A and then pass the result to command B e.g ps auxwww | grep google |
COMMAND HISTORY
Commands For Mac Os Terminal
Key/Command | Description |
---|---|
history n | Shows the stuff typed – add a number to limit the last n items |
Ctrl + r | Interactively search through previously typed commands |
![value] | Execute the last command typed that starts with ‘value’ |
![value]:p | Print to the console the last command typed that starts with ‘value’ |
!! | Execute the last command typed |
!!:p | Print to the console the last command typed |
FILE MANAGEMENT
Key/Command | Description |
---|---|
touch [file] | Create a new file |
pwd | Full path to working directory |
. | Current folder, e.g. ls . |
.. | Parent/enclosing directory, e.g. ls .. |
ls -l .. | Long listing of parent directory |
cd ../../ | Move 2 levels up |
cat | Concatenate to screen |
rm [file] | Remove a file, e.g. rm data.tmp |
rm -i [file] | Remove with confirmation |
rm -r [dir] | Remove a directory and contents |
rm -f [file] | Force removal without confirmation |
cp [file] [newfile] | Copy file to file |
cp [file] [dir] | Copy file to directory |
mv [file] [new filename] | Move/Rename, e.g. mv file1.ad /tmp |
pbcopy < [file] | Copies file contents to clipboard |
pbpaste | Paste clipboard contents |
pbpaste > [file] | Paste clipboard contents into file, pbpaste > paste-test.txt |
DIRECTORY MANAGEMENT
Useful Terminal Commands Mac
Key/Command | Description |
---|---|
mkdir [dir] | Create new directory |
mkdir -p [dir]/[dir] | Create nested directories |
rmdir [dir] | Remove directory ( only operates on empty directories ) |
rm -R [dir] | Remove directory and contents |
less [file] | Output file content delivered in screensize chunks |
[command] > [file] | Push output to file, keep in mind it will get overwritten |
[command] >> [file] | Append output to existing file |
[command] < [file] | Tell command to read content from a file |
SEARCH
Key/Command | Description |
---|---|
find [dir] -name [search_pattern] | Search for files, e.g. find /Users -name 'file.txt' |
grep [search_pattern] [file] | Search for all lines that contain the pattern, e.g. grep 'Tom' file.txt |
grep -r [search_pattern] [dir] | Recursively search in all files in specified directory for all lines that contain the pattern |
grep -v [search_pattern] [file] | Search for all lines that do NOT contain the pattern |
grep -i [search_pattern] [file] | Search for all lines that contain the case-insensitive pattern |
mdfind [search_pattern] | Spotlight search for files (names, content, other metadata), e.g. mdfind skateboard |
mdfind -onlyin [dir] -name [pattern] | Spotlight search for files named like pattern in the given directory |
HELP
Key/Command | Description |
---|---|
[command] -h | Offers help |
[command] –help | Offers help |
info [command] | Offers help |
man [command] | Show the help manual for [command] |
whatis [command] | Gives a one-line description of [command] |
apropos [search-pattern] | Searches for command with keywords in description |
If you’re working in Terminal on your Mac, you need to know the most important UNIX commands: those that work with directories, those that work with files, and miscellaneous but commonly used commands.
Folders are called directories in UNIX. Commands that refer to filenames, as most do, assume that you’re talking about files in the working directory. When you open the Terminal window, the working directory is set to your home directory, abbreviated ~. Bash shows you the current working directory and your username to the left of its prompt. The following table lists common directory-related commands.
Command | What It Does |
---|---|
ls | Lists the names of the files in the working directory. For more complete information, use ls –alF (. |
cd directoryname | Changes the working directory to the one you named. |
cd .. | Brings you up one directory level. |
cd | Returns you to your home directory. |
pwd | Displays the pathname of the current directory. |
mkdir newdirectoryname | Makes a new directory. |
rmdir directoryname | Removes (deletes) an empty directory. |
As in Windows, you can redirect the output of a command to a text file. So if you want a record of the files in a folder, type cd, followed by a space, drag the folder’s icon to the Terminal window, and press Return. Type ls > mydirectorylist.txt and press Return again. A file named mydirectorylist.txt will appear in the folder you chose. You can open the file in TextEdit to see a list of the files in that directory.
This table lists commands commonly used when working with files in the Terminal window.
Command | What It Does |
---|---|
cp filename1 filename2 | Copies a file. |
chmod | Changes permissions for access to a file. Study the man page before using this one. |
diff | Compares two files line by line (assumes text). |
more filename | Displays a text file one page at a time. Press the spacebar to see the next page; press Q to quit. The man command works through more. |
mv filename1 filename2 | Moves a file or changes its name. |
rm filename | Removes (deletes) a file. |
This last table explains other handy commands that anyone getting started in Terminal will likely want to know.
Command | What It Does |
---|---|
Control+C | Terminates most operations. |
date | Displays the current date and time. |
echo | Repeats whatever appears after the command (after expansion). |
help | Displays a partial list of bash commands. |
history | Displays the last commands you typed. You can redo a command by typing an exclamation point (!) followed immediately (no space) by the number of that command in the history list. To repeat the last command, type !!. To repeat the last filename, type !*. |
pico | A simple UNIX text editor. |
ps | Displays a list of running processes. |
sudo | Lets you carry out commands for which the account you are using lacks authority. You will be asked for an administrator’s password. |
When you’re working in Terminal, you don’t have a Trash Can to which deleted files are moved pending ultimate disposal. Delete it, and it’s gone. In general, UNIX has no Undo function.