| 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 | |
| arp | Address resolution display and control | |
| asr | Apple Software Restore | |
| atsutil | Font registration system utility | |
| autoload | Autoload a function ▫ | |
| automator | Run an Automator workflow | |
| awk | Find and Replace text within file(s) | |
| B | ||
| base64 | Encode or Decode a binary file | |
| 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 • | |
| brew | Package manager | |
| 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 | |
| chsh | Add or change user database information, change default shell | |
| cksum | Print CRC checksum and byte counts | |
| clear | Clear terminal screen | |
| cmp | Compare two files | |
| 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 | |
| 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 | |
| dot_clean | 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 group 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 • | |
| emulate | Print current emulation mode (Zsh only) ▫ | |
| 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 | |
| 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 | |
| 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 | |
| ip | Routing, devices and tunnels | |
| J | ||
| jobs | List active jobs • | |
| join | Join lines on a common field | |
| jot | Print sequential or random data | |
| 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 | |
| klist | List cached Kerberos tickets | |
| 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 | |
| log | Access system wide log messages | |
| 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 | |
| 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) | |
| mkfile | Make a file | |
| mktemp | Make a temporary file | |
| more | Display output one screen at a time | |
| mount | Mount a file system | |
| mount_nfs | Mount an NFS 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 | |
| N | ||
| nano | Simple text editor | |
| nc/netcat | Read and write data across networks | |
| netstat | Show network status | |
| networkQuality | Network quality testing tool | |
| 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 | |
| pax | Read and write file archives and copy directory hierarchies | |
| pbcopy | Copy data to the clipboard | |
| pbpaste | Paste data from the Clipboard | |
| pbs | General helper tool | |
| 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 • | |
| powermetrics | Display CPU and power usage stats | |
| pr | Convert text files for printing | |
| printenv | List environment variables | |
| printf | Format and print data • | |
| profiles | Profiles Tool | |
| ps | Process status | |
| purge | Force disk cache to be purged (flushed and emptied) | |
| 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 • | |
| realpath | Return resolved physical path | |
| reboot | Stop and restart the system | |
| repeat | Loop command to repeat an action ▫ | |
| ReportCrash | Enable/Disable crash reporting | |
| return | Exit a function • | |
| rev | Reverse lines of a file | |
| rm | Remove files | |
| rmdir | Remove folder(s) | |
| route | Manipulate the routing tables | |
| 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 | |
| setopt | Set the options for the shell (Zsh only) ▫ | |
| sharing | Create share points for afp, ftp and smb services | |
| shasum | Print or Check SHA Checksums | |
| shift | Shift positional parameters • | |
| shopt | Set shell options • | |
| shortcuts | Manage macOS shortcuts | |
| shutdown | Shutdown or restart macOS | |
| sips | Scriptable image processing system | |
| sleep | Delay for a specified time | |
| sfltool | Test and debug SharedFileLists & Login items | |
| sntp | Simple Network Time Protocol client program | |
| 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 • | |
| sw_vers | Print macOS Operating System version | |
| sysadminctl | Administer system user accounts | |
| sysctl | Get or set kernel state | |
| system_profiler | Report system configuration | |
| systemsetup | Computer and display system settings | |
| T | ||
| tabs | Set terminal tabs | |
| tab2space | Expand tabs and ensure consistent cr/lf line endings | |
| tail | Output the last part of files | |
| tar | Tape ARchiver | |
| taskpolicy | Control scheduling of processes |
|
| 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, colour, 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 | |
| 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 • | |
| typeset | Set or display attributes and values for shell parameters ▫ | |
| 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) | |
| unzip | List, test and extract compressed files from a ZIP archive | |
| 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 | |
| vifs | Safely edit fstab | |
| 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 | |
| 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) | |
| 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 the command line developer tools | |
| xcrun | Run or locate development tools and properties | |
| xxd | Make a hexdump or do the reverse | |
| Y | ||
| 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.
Commands marked ▫ are Zsh built-in commands.
In macOS Catalina the default shell was changed to Zsh, each page has a link to the Zsh variant where they are different.
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 backslash '\' 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