This is a complete A- Z index of all Mac commands and the terminal events associated with those commands. We have compiled this list by using official sources and have explained more clearly and elaborately about each of them. We have also added two additional columns specifying whether or not the command is an inbuilt system one. The final column also displays the Mac version support for each of these commands.
IMPORTANT: If you are not an advanced user and have no knowledge on how to use the terminal commands, please do not try to experiment. These are meant for medium and advanced users ONLY.
Mac Terminal Commands – A to Z
Just open the Terminal and type in the following command: say 'Hello, from MacLife' This will cause the default selected voice in OS X to spring to life and say the words that are wrapped in quotes. Before moving forward with the various networksetup-based commands, please note that as of OS X 10.8, the AirPort Terminal command, which is what drives some of the changes made to Apple's AirPort. 11 Cool Terminal Commands for macOS – Mac User Should Try #1. Hide/Unhide and View Files/Folders in Finder. MacOS Terminal provides you an easy way to Hide, Unhide or View hidden files in the Finder via Terminal. Open up the terminal from /Applications/finder or alternatively launch it from Spotlight. To Hide any File/Folder. Show hidden files and folders: Want to see all the hidden files and folders OS X has to offer — or you.
Command | InBuilt | Command Action and Event | All |
alias | Yes | Creation of a Alias for current User | Yes |
alloc | No | Free Memory is Listed | Yes |
apropos | No | String search in What is database | NA |
awk | No | Scan and overwrite Text inside file and files | NA |
basename | No | Change full path name to path name | NA |
bash | No | Bourne-Again Shell | NA |
bg | Yes | Send to background | Yes |
bind | Yes | Read line Key is displayed | Yes |
bless | No | Assign Boot and start-up options | NA |
break | Yes | Exit a redundant loop | Yes |
builtin | Yes | Execute a built in shell command | Yes |
bzip2 | No | Compress and decompress a file | Yes |
cal | No | The calendar is displayed | Yes |
caller | Yes | Subroutine call context is returned | Yes |
case | Yes | Conditional statement | Yes |
cat | No | Append and Display file content | Yes |
cd | Yes | Change current Directory | Yes |
chflags | No | Change flags | NA |
chgrp | No | Modify Group Ownership | NA |
chmod | No | Change group permissions | NA |
chown | No | Modify File owner and permissions | NA |
chroot | No | Execute a command using another root directory | NA |
cksum | No | Print and display checksum | NA |
clear | No | Clear current terminal screen contents | NA |
cmp | No | Simply compares two files | NA |
comm | No | Line by line comparison of two sorted lines | Yes |
command | Yes | Run or Execute a command | Yes |
complete | Yes | Edit or modify completion of a command | Yes |
continue | Yes | Resume a loop | Yes |
cp | No | Copy Command | NA |
cron | No | Run or Execute a prescheduled command | NA |
crontab | No | Schedule command for execution after an assigned time | NA |
csplit | No | Split a file into context-determined pieces | NA |
curl | No | Upload or download data from a server | NA |
cut | No | Cut a file into parts | Yes |
date | No | Display or modify date time | Yes |
dc | No | Display Desk Calculator | NA |
dd | No | (Copy a file) Data Dump | NA |
declare | Yes | Declare and assign attributes for a variable | Yes |
defaults | No | Set visual preference options for hidden files | NA |
df | No | Show unused disk space | Yes |
diff | No | Show difference between two files | Yes |
diff3 | No | Show difference between three files | NA |
dig | No | Command to lookup DNS details | NA |
dirname | No | Convert full path name to path | NA |
dirs | Yes | Display cached directories | Yes |
diskutil | No | Disk utility command | Yes |
disown | Yes | Remove a job from current session | Yes |
ditto | No | Same as copy command | Yes |
dot_clean | No | Remove dots and underscores from a context files | NA |
drutil | No | Disk drive utility command | NA |
dscacheutil | No | Flush DNS or cache | NA |
dscl | No | Command-line utility for directory service | Yes |
dseditgroup | No | Manage groups and users | Yes |
dsenableroor | No | Command to enable root access for a terminal | NA |
dsmemberutil | No | Show groups and users rights | NA |
du | No | File space usage estimation | NA |
echo | Yes | Display an entered message on the screen | Yes |
ed | No | A text editor program | Yes |
enable | Yes | Enable or disable system shell commands | Yes |
env | No | Display or Modify environment variables | Yes |
eval | Yes | Evaluate one or more commands or arguments | Yes |
exec | Yes | Execute command | Yes |
exit | Yes | Exit shell | Yes |
expand | No | Expand a Tab | NA |
expect | No | Pre assigned dialogue exchange for interactive programs | NA |
export | Yes | Assign environment variable | Yes |
expr | No | Evaluate an expression or set of expressions | Yes |
fc | No | Fix command | NA |
fdisk | No | Format disk command | NA |
fg | Yes | Bring a job to front | Yes |
file | No | Analyse file type | Yes |
find | No | File search matching requested criteria | NA |
fmt | No | Reformat Text in a paragraph | NA |
fold | No | Wrap text to automatically adjust with working area | NA |
for | Yes | Simple Loop command | Yes |
fs_usage | No | File system display usage | Yes |
fsactl | No | Enable or disable ACL support for File System | NA |
fsck | No | Check and repair file systems | NA |
ftp | No | FTP manager | NA |
getfileinfo | No | Get file attributes | Yes |
getopts | Yes | Parse the positional parameters | Yes |
goto | No | Jump to an assigned point and then continue program execution | NA |
grep | No | Search file with a certain pattern | NA |
groups | No | Display a user’s group name | NA |
gzip | No | Compress and decompress a file | Yes |
halt | No | Shutdown and Restart the system | NA |
hash | Yes | Refresh command cache and path names | Yes |
hdiutil | No | Hard drive interface Utility Tool | Yes |
head | No | Print first line from a text file | Yes |
history | Yes | History Command | Yes |
hostname | No | Display or modify System name | NA |
iconv | No | Convert character set of file(s) | NA |
id | No | Display user and group IDs | Yes |
if | Yes | Conditional Command statement | Yes |
info | No | Display help information | NA |
install | No | Copy and assign attributes of a file | Yes |
ipconfig | No | Configure network attributes and assign values | NA |
jobs | Yes | List all currently active jobs | Yes |
join | No | Join command | NA |
kextfind | No | List the kernel extension | NA |
kickstart | No | Configure and set Apple Remote Desktop properties | NA |
kill | No | Terminate a process directly | Yes |
l | No | List file in original long format | NA |
last | No | Indicate last login information of a users and additional info | NA |
launchctl | No | Launch daemons or agents | NA |
less | No | Display output on screen accommodating data per window | NA |
let | Yes | Evaluate an expression or set of expressions | Yes |
lipo | No | Convert binary format | Yes |
ll | No | List file in original long format, also display hidden files | Yes |
ln | No | Interlink files | NA |
local | Yes | Assign local variable | Yes |
locate | No | Find a file or files | Yes |
login | No | log-in your system | NA |
logname | No | Display current users login name | NA |
logout | Yes | Exit login shell | Yes |
lpr | No | Print file or files | Yes |
lprm | No | Remove queued print jobs | Yes |
lpstat | No | Printer info and current status | Yes |
ls | No | List a file information | NA |
lsof | No | List currently opened files | NA |
lsregister | No | Reset Launch Service database | NA |
man | No | Display Help manual | Yes |
mdfind | No | Spotlight search command | Yes |
mdutil | No | Spotlight search command utility | Yes |
mkdir | No | Create new directory | Yes |
mkfifo | No | Build FIFOs | Yes |
more | No | Display output data one screen at one time | NA |
mount | No | Mount a file system | NA |
mv | No | Cut or rename directories or files | NA |
nano | No | Bring up text editor | Yes |
net | No | Configure network resources | NA |
netstat | No | Display network information | NA |
networksetup | No | Assign network attributes | Yes |
nice | No | Set command priority | NA |
nohup | No | Hang-up a command | NA |
ntfs.util | No | NTFS utility command | Yes |
onintr | No | Control shell action | NA |
open | No | Open up a file or location | NA |
osacomplie | No | Command to Compile an Apple script | NA |
osasdript | No | Execute an AppleScript | NA |
passwd | No | Modify user password directly | Yes |
paste | No | Merge lines from two or more files | Yes |
pbcopy | No | Copy the data to clipboard | NA |
pbpaste | No | Paste the data from Clipboard | NA |
ping | No | Check a network connection | NA |
pkgutil | No | Display or change Installed packages info | NA |
plutil | No | Property list command utility | Yes |
pmset | No | Configure Power Management settings | Yes |
popd | Yes | Restore previous value of current directory | Yes |
pr | No | Modify Text files to print | Yes |
printenv | No | Display all environment variables | Yes |
printf | Yes | Print command | Yes |
ps | No | Display Process status | Yes |
pushd | No | Save and change current directory | NA |
pwd | Yes | Print currently Working Directory | Yes |
quota | No | Display disk limitation and usage | Yes |
rcp | No | Copy files across machines/systems | Yes |
read | Yes | Read first line from an output file | Yes |
readonly | Yes | Assign read only attribute to a file/directory | Yes |
reboot | Yes | Reboot a system | Yes |
return | Yes | Exit Function | Yes |
rev | No | Reverse file lines | NA |
rm | No | Remove file(s) | NA |
rmdir | No | Remove directory(ies) | Yes |
rpm | No | Bring up Remote Package Manager tool | Yes |
rsync | No | Remotely copy a file | NA |
say | No | Text to speech conversion | NA |
screen | No | Manage Multiplex terminal and run remote shells via ssh | NA |
screencapture | No | Capture the screen image | Yes |
sdiff | No | Merge or modify two files | Yes |
security | No | Configure security options for a system | Yes |
sed | No | Stream Editor Utility | NA |
select | Yes | Display list of Items | Yes |
set | Yes | Set shell variable | Yes |
setfile | No | Set file attributes | NA |
shift | Yes | Shift positional parameters | Yes |
shopt | Yes | Configure shell options | Yes |
shutdown | No | Shutdown/restart Mac OS X | NA |
sleep | No | Sleep after an assigned time frame | Yes |
softwareupdate | No | Software Update Command | Yes |
sort | No | Sort the text files | Yes |
source | Yes | Execute command from file | Yes |
split | No | Split files into like sized pieces | NA |
stop | No | Stop a process or currently running job | NA |
su | No | Substitute a user identity | Yes |
sudo | No | Execute command as some other user | Yes |
sum | No | Print checksum value for a file | NA |
suspend | Yes | Suspend shell execution | Yes |
sw_vers | No | Print Mac Operating System version | NA |
system_profiler | No | Report a system configuration | Yes |
tail | No | Display the last lines from a file | NA |
tar | No | Archiver Utility | Yes |
tcpdump | No | Network Traffic dump | NA |
tee | No | Redirect multiple file output | NA |
test | Yes | Conditional evaluation | Yes |
textutil | No | Modify Text file formats | NA |
time | No | Calculate Program Resource Usage | Yes |
times | Yes | Print shell along with shell process time | Yes |
top | No | Display process related information | Yes |
touch | No | Change the file timestamps info | Yes |
tr | No | Modify Characters or delete them | NA |
traceroute | No | Display Trace Route path to assigned host name | NA |
trap | Yes | Execute command when shell receives signal | Yes |
tty | No | Print terminal filename on stdin | NA |
type | Yes | Describe command name and type | Yes |
ufs.util | No | Mount or unmount a UFS file system | NA |
ulimit | Yes | Limit system resources usage | Yes |
unalias | Yes | Delete an alias | Yes |
unamask | No | Mask User file creation | NA |
uname | No | Print System Info | Yes |
unexpand | No | Space to tab converter | Yes |
uniq | No | Uniquify the files | Yes |
units | No | Unit scale converter command | NA |
unmount | No | Unmount a mounted device | NA |
unset | Yes | Remove function or variable names | Yes |
until | Yes | Loop command | Yes |
uptime | No | Display System Runtime information | NA |
users | No | Print all username of the current session | NA |
uucp | No | Unix to Unix copy command | Yes |
uudecode | No | Decode a file | NA |
uuencode | No | Encode a file | NA |
vi | No | Visual Text Editor | Yes |
wait | Yes | Wait for process completion | Yes |
whatis | No | Search what is database | NA |
where | No | Report all command instances | NA |
while | Yes | Loop command | Yes |
who | No | Print all names of the users of the current session | NA |
whoami | No | Display or Print current username and info details | NA |
write | No | Send a user a message | NA |
xargs | No | Execute utility by passing arguments | Yes |
yes | No | Print a string value until and unless interrupted by a user | NA |
Foot note: N/A – Data not available.
Commands Terminal Mac Os X
If you feel this list lacks any particular command which has been recently added to the Mac terminal, you can improve this article by mentioning it in the comment section.
Terminal User Guide
You must be an administrator or root user, also called superuser, to execute many of the commands used to manage a server.
For example, if you’re not an administrator or a root user, entering the shutdown
command gives you an error:
This is because the shutdown
command can be run only by the root user or by an administrator user with root user privileges.
To run commands with superuser privileges, use the sudo
command. sudo
stands for superuser do.
The following example works on computers with macOS installed, so don’t run it unless you want to restart your computer:
% sudo shutdown
You’re asked for the password of the current user.
Only administrator users can use sudo
. If you’re not logged in as an administrator, you can do so by entering the following command, where adminUsername is the name of an administrator user:
You’re asked to enter the password for adminUsername, after which a new shell is opened for that user.
If a command requires it, you can use su
to switch to the root user. Under normal circumstances, you shouldn’t log in as the root user.
Apple Terminal Commands List
Important: If you use su
to log in as the root user, be especially careful, because you have sufficient privileges to make changes that can cause your computer to stop working.