APPLE MAC OS (BASH) COMMANDS

A

afconvert Audio File Convert
afinfo Audio File Info
afplay Audio File Play
airport Manage Apple AirPort
alias Create an alias •
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)
B

basename Convert a full pathname to just a filename
bash Bourne-Again SHell
bc Arbitrary precision calculator language
bg Send to background •
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 •
builtin Execute a shell builtin •
bzip2 Compress or decompress files
C

caffeinate Prevent the system from sleeping
cal Display a calendar
calendar Reminder Service
caller Return the context of a subroutine call •
cancel Cancel print jobs
case Conditionally perform a command •
cat Concatenate and print (display) the content of files
cd Change Directory •
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
cksum Print CRC checksum and byte counts
clear Clear terminal screen
cmp Compare two files
codesign Create and manipulate code signatures
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
D

date Display or change the date & time
dc Desk Calculator
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
dig DNS lookup
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
dotclean Remove dot-underscore files
drutil Interact with CD/DVD burners
dscacheutil Query or flush the Directory Service/DNS cache
dseditgroup Edit, create, manipulate, or delete groups
dsenableroot Enable root access
dsmemberutil View user and groups rights
dscl Directory Service command line utility
du Estimate file space usage
E

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 •
exec Execute a command •
exit Exit the shell •
execsnoop Snoop new process execution
expand Convert tabs to spaces
expect Programmed dialogue with interactive programs Also see AppleScript
export Set an environment variable •
expr Evaluate expressions
F

false Do nothing, unsuccessfully
fc Fix command (history)
fdisk Partition table manipulator for Darwin UFS/HFS/DOS
fdesetup FileVault configuration, list FileVault users
fg Send job to foreground •
file Determine file type
find Search for files that meet a desired criteria
fmt Reformat paragraph text
fold Wrap text to fit a specified width
for Loop command •
fsck Filesystem consistency check and repair
fs
usage Filesystem usage (process/pathname)
ftp Internet file transfer program
function Define Function Macros
fuser List processes that have one or more files open
G

GetFileInfo Get attributes of HFS+ files
getopt Parse positional parameters
getopts Parse positional parameters •
goto Jump to label and continue execution
grep Search file(s) for lines that match a given pattern
groups Print group names a user is in
gzip Compress or decompress files
H

halt Stop and restart the operating system
hash Refresh the cached/remembered location of commands •
head Display the first lines of a file
hdiutil Manipulate iso disk images
history Command History •
hostname Print or set system name
I

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
info Help info
install Copy files and set attributes
installer System software and .pkg package installer tool
iosnoop Snoop I/O events as they occur
J

jobs List active jobs •
join Join lines on a common field
K

kextfind List kernel extensions
kextstat Display status of loaded kernel extensions (kexts)
kextunload Terminate driver instances and unload kernel extensions.
keytool Key and certificate management tool
kickstart Configure Apple Remote Desktop
kill Kill a process by specifying its PID
killall Kill processes by name
L

l List files in long format (ls -l)
last Indicate last logins of users and ttys
launchctl Load or unload daemons/agents
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 •
locate Find files
logname Print current login name
login log into the computer
logout Exit a login shell (bye) •
look Display lines beginning with a given string
lp Print files
lpr Print files
lprm Remove jobs from the print queue
lpstat Printer status information
ls List information about file(s)
lsregister Reset the Launch Services database
lsbom List a bill of materials file
lsof List open files
M

man Help manual
md5 Calculate a checksum for a file
mdfind Spotlight search
mdls List the metadata attributes for a specified file
mdutil Manage Spotlight metadata store
mkdir Create new folder(s)
mkfifo Make FIFOs (named pipes)
mkfile Make a file
mktemp Make a temporary file
more Display output one screen at a time
mount Mount a file system
msgs System messages
mtree Map a directory hierarchy
mv Move or rename files or directories
N

nano Simple text editor
nc/netcat Read and write data across networks
net Manage network resources
netstat Show network status
networksetup Network and System Preferences
nice Set the priority of a command
nl Number lines and write files
nohup Run a command immune to hangups
ntfs.util NTFS file system utility
nvram Manipulate firmware variables
O

onintr Control the action of a shell interrupt
open Open a file/folder/URL/Application
opensnoop Snoop file opens as they occur
openssl OpenSSL command line
osacompile Compile Applescript
osascript Execute AppleScript
P

passwd Modify a user password
paste Merge lines of files
pbcopy Copy data to the clipboard
pbpaste Paste data from the Clipboard
pbs General helper tool
pdisk Apple partition table editor
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
printenv List environment variables
printf Format and print data •
ps Process status
pushd Save and then change the current directory
pwd Print Working Directory •
Q

qlmanage Quick Look Server debug and management tool
quota Display disk usage and limits
R

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
ReportCrash Enable/Disable crash reporting
return Exit a function •
rev Reverse lines of a file
rm Remove files
rmdir Remove folder(s)
rpm Remote Package Manager
rsync Remote file copy - Sync file tree
S

say Convert text to audible speech
screen Multiplex terminal, run remote shells via ssh
screencapture Capture screen image to file or disk
scselect Switch between network locations
scutil Manage system configuration parameters
sdiff Merge two files interactively
security Administer Keychains, keys, certificates and the Security framework
sed Stream Editor
select Generate a list of items •
seq Print numeric sequences
serverinfo Server information
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 •
shutdown Shutdown or restart macOS
sips Scriptable image processing system
sleep Delay for a specified time
softwareupdate System software update tool
sort Sort text files
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 •
swvers Print macOS operating system version
sysctl Get or set kernel state
system
profiler Report system configuration
systemsetup Computer and display system settings
T

tail Output the last part of files
tab2space Expand tabs and ensure consistent cr/lf line endings
tar Tape ARchiver
tccutil Manage the privacy database
tcpdump Dump traffic on a network
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 •
tmutil Time Machine utility
top Display process information
touch Change file timestamps
tput Set terminal-dependent capabilities, color, position
tr Translate, squeeze, and/or delete characters
trap Execute a command when the shell receives a signal •
traceroute Trace Route to Host
traceroute6 Trace IPv6 Route to Host
trimforce Enable TRIM commands on third-party drives
true Do nothing, successfully
tty Print filename of terminal on stdin
type Describe a command •
U

ufs.util Mount/unmount UFS file system
ulimit limit the use of system-wide resources •
umask Users file creation mask
umount Unmount a device
unalias Remove an alias •
uname Print the Darwin OS Kernel version / release / machine name
unexpand Convert spaces to tabs
uniq Uniquify files
units Convert units from one scale to another
unset Remove variable or function names •
until Loop command •
uptime Show how long system has been running
users Print login names of users currently logged in
until Execute commands (until error)
uuencode Encode a binary file
uudecode Decode a file created by uuencode
uuidgen Generate a Unique ID (UUID/GUID)
uucp Unix to Unix copy
V

vi Text Editor
W

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
whatis Search the whatis database for complete words
whereis Locate a program
which Locate a program file in the user's path
while Loop command •
who Print all usernames currently logged on
whoami Print the current user id and name ('id -un')
write Send a message to another user
X

xargs Execute utility - passing arguments
xattr Display and manipulate extended attributes
xcode-select --install = Install the command line developer tools
xxd Make a hexdump or do the reverse
Y

youtube-dl Download video
yes Print a string until interrupted
zip Package and compress (archive) files.
!! Run the last command again
Commands marked • are bash built-in commands. bash is the default shell, it runs under Darwin the open source core of macOS.
In macOS Catalina the default shell will change to zsh and in time this page will be updated to include that.

More from Command Line Commando
All posts