An A-Z Index of Apple macOS (bash) commands
A
alloc
List used and free memory
apropos
Search the whatis database for strings
asr
Apple Software Restore
atsutil
Font registration system utility
automator
Run an Automator workflow
awk
Find and Replace text within file(s)
base64
Encode or Decode a binary file
basename
Convert a full pathname to just a filename
bc
Arbitrary precision calculator language
bind
Set or display readline key and function bindings •
bless
Set volume bootability and startup disk options
break
Exit from a For, While, Until or Select loop •
bzip2
Compress or decompress files
caller
Return the context of a subroutine call •
case
Conditionally perform a command •
cat
Concatenate and print (display) the content of files
chflags
Change a file or folder’s flags
chgrp
Change group ownership
chmod
Change access permissions
chown
Change file owner and group
chroot
Run a command with a different root directory
chsh
Add or change user database information, change default shell
cksum
Print CRC checksum and byte counts
clear
Clear terminal screen
codesign
Create and manipulate code signatures
col
Filter reverse line feeds from input
comm
Compare two sorted files line by line
command
Run a command (not a function) •
complete
Edit a command completion [word/pattern/list] •
continue
Resume the next iteration of a loop •
cp
Copy one or more files to another location
cpio
Copy files to and from archives
createhomedir
Create and populate home directories on the local computer
cron
Daemon to execute scheduled commands
crontab
Schedule a command to run at a later date/time
csplit
Split a file into context-determined pieces
csrutil
Configure System Integrity Protection (SIP)
cupsfilter
Convert a file to another format using cups filters
curl
Transfer data from or to a server
cut
Divide a file into several parts
date
Display or change the date & time
dd
Data Duplicator - convert and copy a file, clone disks
declare
Declare variable & set attributes •
defaults
Set preferences, show hidden files
df
Display free disk space
diff
Display the differences between two files
diff3
Show differences among three files
dirname
Convert a full pathname to just a path
dirs
Display list of remembered directories •
diskutil
Disk utilities - Format, Verify, Repair
disown
Unbind a job from the current login session •
ditto
Copy files and folders
drutil
Interact with CD/DVD burners
dscacheutil
Query or flush the Directory Service/DNS cache
dsmemberutil
View user and groups rights
dscl
Directory Service command line utility
du
Estimate file space usage
echo
Display text on screen •
ed
A line-oriented text editor (edlin)
enable
Enable and disable builtin shell commands •
env
List or Set environment variables
eval
Evaluate several commands/arguments •
expect
Programmed dialogue with interactive programs
Also see
AppleScript
export
Set an environment variable •
expr
Evaluate expressions
false
Do nothing, unsuccessfully
fdisk
Partition table manipulator for Darwin UFS/HFS/DOS
fdesetup
FileVault configuration, list FileVault users
fg
Send job to foreground •
find
Search for files that meet a desired criteria
fmt
Reformat paragraph text
fold
Wrap text to fit a specified width
fsck
Filesystem consistency check and repair
fs_usage
Filesystem usage (process/pathname)
ftp
Internet file transfer program
fuser
List processes that have one or more files open
getopt
Parse positional parameters
getopts
Parse positional parameters •
goto
Jump to label and continue execution
gpt
GUID partition table maintenance utility
grep
Search file(s) for lines that match a given pattern
groups
Print group names a user is in
gzip
Compress or decompress files
halt
Stop and restart the Operating System
hash
Refresh the cached/remembered location of commands •
head
Display the first lines of a file
iconv
Convert the character set of a file
id
Print user and group names/id’s
if
Conditionally perform a command •
ifconfig
Configure network interface parameters
iostat
Report CPU and i/o statistics
ipconfig
View and control IP configuration state
install
Copy files and set attributes
installer
System software and .pkg package installer tool
iosnoop
Snoop I/O events as they occur
join
Join lines on a common field
jot
Print sequential or random data
kextstat
Display status of loaded kernel extensions (kexts)
kextunload
Terminate driver instances and unload kernel extensions.
keytool
Key and certificate management tool
kill
Kill a process by specifying its PID
klist
List cached Kerberos tickets
l
List files in long format (ls -l)
last
Indicate last logins of users and ttys
ll
List files in long format, showing invisible files (ls -la)
leave
Remind you when you have to leave
less
Display output one screen at a time
let
Evaluate expression •
lipo
Convert a universal binary
ln
Make links between files (hard links, symbolic links)
local
Set a local (function) variable •
log
Access system wide log messages
login
log into the computer
logout
Exit a login shell (bye) •
look
Display lines beginning with a given string
lprm
Remove jobs from the print queue
lpstat
Printer status information
ls
List information about file(s)
lsbom
List a bill of materials file
md5
Calculate a checksum for a file
mdimport
Import file hierarchies into the Spotlight datastore.
mdls
List the metadata attributes for a specified file
mdutil
Manage Spotlight metadata store
mkdir
Create new folder(s)
mkfifo
Make FIFOs (named pipes)
more
Display output one screen at a time
mount
Mount a file system
mount_smbfs
Mount a file share from a remote SMB server.
msgs
System messages
mtree
Map a directory hierarchy
mv
Move or rename files or directories
nc/netcat
Read and write data across networks
net
Manage network resources
netstat
Show network status
nice
Set the priority of a command
nl
Number lines and write files
nohup
Run a command immune to hangups
nvram
Manipulate firmware variables
onintr
Control the action of a shell interrupt
open
Open a file/folder/URL/Application
paste
Merge lines of files
pbcopy
Copy data to the clipboard
pbpaste
Paste data from the Clipboard
pfctl
Firewall - Control the packet filter and NAT device.
pgrep
List processes by a full or partial name
ping
Test a network connection
pkill
Kill processes by a full or partial name
pkgbuild
Build a macOS
Installer component package
pkgutil
Query and manipulate installed packages
plutil
Property list utility
pmset
Power Management settings
popd
Restore the previous value of the current directory •
pr
Convert text files for printing
printf
Format and print data •
purge
Force disk cache to be purged (flushed and emptied)
pushd
Save and then change the current directory
pwd
Print Working Directory •
qlmanage
Quick Look Server debug and management tool
quota
Display disk usage and limits
rcp
Copy files between machines
read
Read one line from standard input •
readonly
Mark a variable or function as read-only •
reboot
Stop and restart the system
rev
Reverse lines of a file
rsync
Remote file copy - Sync file tree
say
Convert text to audible speech
screen
Multiplex terminal, run remote shells via ssh
scselect
Switch between network locations
scutil
Manage system configuration parameters
sdiff
Merge two files interactively
security
Administer Keychains, keys, certificates and the Security framework
select
Generate a list of items •
seq
Print numeric sequences
set
Set a shell variable = value •
setfile
Set attributes of HFS+ files
sharing
Create share points for afp, ftp and smb services
shasum
Print or Check SHA Checksums
shift
Shift positional parameters •
shopt
Set shell options •
sips
Scriptable image processing system
sleep
Delay for a specified time
sntp
Simple Network Time Protocol client program
source
Execute commands from a file •
spctl
Security assessment policy/Gatekeeper
split
Split a file into fixed-size pieces
sqlite3
SQL database (download history)
srm
Securely remove files or directories
stat
Display the status of a file
stop
Stop a job or process
su
Substitute user identity
sudo
Execute a command as another user
sum
Print a checksum for a file
suspend
Suspend execution of this shell •
sw_vers
Print macOS Operating System version
sysctl
Get or set kernel state
tab2space
Expand tabs and ensure consistent cr/lf line endings
tail
Output the last part of files
tccutil
Manage the privacy database
tee
Redirect output to multiple files
test
Condition evaluation •
textutil
Manipulate text files in various formats (Doc,html,rtf)
time
Measure Program Resource Use
times
Print shell & shell process times •
top
Display process information
touch
Change file timestamps
tput
Set terminal-dependent capabilities, colour, position
tr
Translate, squeeze, and/or delete characters
trap
Execute a command when the shell receives a signal •
trash
Move files and directories to the trash
trimforce
Enable TRIM commands on third-party drives
true
Do nothing, successfully
tty
Print filename of terminal on stdin
type
Describe a command •
ufs.util
Mount/unmount UFS file system
ulimit
limit the use of system-wide resources •
umask
Users file creation mask
uname
Print the Darwin OS Kernel version / release / machine name
units
Convert units from one scale to another
unset
Remove variable or function names •
uptime
Show how long system has been running
users
Print login names of users currently logged in
until
Execute commands (until error)
uudecode
Decode a file created by uuencode
uuidgen
Generate a Unique ID (UUID/GUID)
uucp
Unix to Unix copy
vifs
Safely edit fstab
w
Show who is logged on and what they are doing
wait
Wait for a process to complete •
wait4path
Wait for given path to show up in the namespace
wall
Write a message to users
wc
Print byte, word, and line counts
wdutil
Wireless Diagnostics command line utility
whatis
Search the whatis database for complete words
whence
Locate a program file in the user’s path (zsh)
which
Locate a program file in the user’s path
who
Print all usernames currently logged on
whoami
Print the current user id and name ('id -un')
write
Send a message to another user
xargs
Execute utility - passing arguments
xattr
Display and manipulate extended attributes
xcrun
Run or locate development tools and properties
xxd
Make a hexdump or do the reverse
yes
Print a string until interrupted
zip
Package and compress (archive) files
!!
Run the last command again
#
Comment / Remark
Commands marked • are bash built-in commands.
In macOS Catalina the default shell was changed to zsh and in time this page may be updated to include the zsh variants. The shells supplied by Apple are often years out of date, so many people prefer to install the latest bash shell using homebrew.
To scroll this page, press [ a – z ] on the keyboard, or '\' to Search.
See also: Websites, Books, Apps & Utilities for macOS.
"Mac OS X is a rock-solid system that’s beautifully designed. I much prefer it to Linux" ~ Bill Joy
Copyright © 1999-2026
SS64.com
Some rights reserved