This is a list of the shell commands of the most recent version of the Portable Operating System Interface (POSIX) – IEEE Std 1003.1-2024 which is part of the Single UNIX Specification (SUS). These commands are implemented in many shells on modern Unix, Unix-like and other operating systems. This list does not cover commands for all versions of Unix and Unix-like shells nor other versions of POSIX.
As is typical in the context of a POSIX system, the term file refers to an item of a file system which can be a regular file, a directory or several other more specialized types.
Columns:
Command The text one enters to launch the command. Category Functional categorization. Optionality Indicates whether the command is mandatory or optional in order to achieve conformance. If the latter, then a code indicates the optional functionality group to which the command belongs. Batch environment (BE) Batch job control. C‑language development (CD) For developing software in C. FORTRAN development (FD) For developing software in FORTRAN. FORTRAN runtime (FR) Runtime‑support for FORTRAN. Software development (SD) For developing software; not language specific. User portability (UP) Addresses consistency at the user interface level. X/Open System Interfaces (XSI) Historically UNIX-like features that were common on System V–style systems. Description Describes what the command does. First appeared Identifies an operating system version in which the command was first provided.| Command | Category | Optionality | Description | First appeared |
|---|---|---|---|---|
| admin | SCCS | Optional (XSI) | Create and administer SCCS files | PWB UNIX |
| alias | Misc | Mandatory | Manage command aliases | |
| ar | Misc | Mandatory | Manage library archives | Version 1 AT&T UNIX |
| asa | Text processing | Optional (FR) | Interpret carriage-control characters | System V |
| at | Process management | Mandatory | Execute commands at a later time | Version 7 AT&T UNIX |
| awk | Text processing | Mandatory | Pattern scanning and processing language | Version 7 AT&T UNIX |
| basename | Filesystem | Mandatory | Report non-directory portion of a pathname | Version 7 AT&T UNIX |
| batch | Process management | Mandatory | Schedule commands to be executed in a batch queue | |
| bc | Misc | Mandatory | Arbitrary-precision arithmetic calculator | Version 6 AT&T UNIX |
| bg | Process management | Optional (UP) | Move jobs to the background | |
| cc | C programming | Optional (CD) | Compile C source code | IEEE Std 1003.1-2024 |
| cal | Misc | Optional (XSI) | Print a calendar | Version 5 AT&T UNIX |
| cat | Filesystem | Mandatory | Concatenate and print files | PDP-7 UNIX |
| cd | Filesystem | Mandatory | Change the working directory | Version 6 AT&T UNIX |
| cflow | C programming | Optional (XSI) | Generate a C-language call graph | System V |
| chgrp | Filesystem | Mandatory | Change file group ownership | PWB UNIX |
| chmod | Filesystem | Mandatory | Change file modes/attributes/permissions | PDP-7 UNIX |
| chown | Filesystem | Mandatory | Change file ownership | PDP-7 UNIX |
| cksum | Filesystem | Mandatory | Report file checksum and size | 4.4BSD |
| cmp | Filesystem | Mandatory | Compare two files | Version 1 AT&T UNIX |
| comm | Text processing | Mandatory | Select or reject lines common to two files | Version 4 AT&T UNIX |
| command | Shell programming | Mandatory | Execute a simple command | |
| compress | Filesystem | Optional (XSI) | Compress data | 4.3BSD |
| cp | Filesystem | Mandatory | Copy files | PDP-7 UNIX |
| cron | Misc | Mandatory | Schedule periodic background work | System V |
| csplit | Text processing | Mandatory | Split files based on context | PWB UNIX |
| ctags | C programming | Optional (SD) | Create a tags file | 3BSD |
| cut | Text processing | Mandatory | Cut out selected fields of each line of a file | System III |
| cxref | C programming | Optional (XSI) | Generate a C-language program cross-reference table | System V |
| date | Misc | Mandatory | Report or change system date and time | Version 1 AT&T UNIX |
| dd | Filesystem | Mandatory | Convert and copy files | Version 5 AT&T UNIX |
| delta | SCCS | Optional (XSI) | Make a delta (change) to an SCCS file | PWB UNIX |
| df | Filesystem | Mandatory | Report free storage space | Version 1 AT&T UNIX |
| diff | Text processing | Mandatory | Compare two files | Version 5 AT&T UNIX |
| dirname | Filesystem | Mandatory | Report the directory portion of a pathname | System III |
| du | Filesystem | Mandatory | Estimate file space usage | Version 1 AT&T UNIX |
| echo | Shell programming | Mandatory | Write to standard output | Version 2 AT&T UNIX |
| ed | Text processing | Mandatory | The standard text editor | PDP-7 UNIX |
| env | Misc | Mandatory | Set the environment for command invocation | System III |
| ex | Text processing | Optional (UP) | Text editor | 1BSD |
| expand | Text processing | Mandatory | Convert tabs to spaces | 3BSD |
| expr | Shell programming | Mandatory | Evaluate arguments as an expression | Version 7 AT&T UNIX |
| false | Shell programming | Mandatory | Exit immediately with status 1 | Version 7 AT&T UNIX |
| fc | Misc | Optional (UP) | Process the command history list | |
| fg | Process management | Optional (UP) | Move a job to the foreground | |
| file | Filesystem | Mandatory | Report type of files | Version 4 AT&T UNIX |
| find | Filesystem | Mandatory | Find files | Version 1 AT&T UNIX |
| fold | Text processing | Mandatory | Filter for folding lines | 1BSD |
| fuser | Process management | Optional (XSI) | List process IDs of all processes that have one or more files open | System V |
| gencat | Misc | Mandatory | Generate a formatted message catalog | |
| get | SCCS | Optional (XSI) | Get a version of an SCCS file | PWB UNIX |
| getconf | Misc | Mandatory | Get configuration values | |
| getopts | Shell programming | Mandatory | Parse utility options | |
| gettext | Misc | Mandatory | Retrieve text string from messages object | |
| grep | Misc | Mandatory | Search text for a pattern | Version 4 AT&T UNIX |
| hash | Misc | Mandatory | Hash database access method | |
| head | Text processing | Mandatory | Copy the first part of files | PWB UNIX[citation needed] |
| iconv | Text processing | Mandatory | Codeset conversion | HP-UX |
| id | Misc | Mandatory | Report user identity | System V |
| ipcrm | Misc | Optional (XSI) | Remove a message queue, semaphore set, or shared memory segment identifier | System V |
| ipcs | Misc | Optional (XSI) | Report interprocess communication facilities status | System V |
| jobs | Process management | Optional (UP) | Report background jobs | |
| join | Text processing | Mandatory | Merges two sorted text files based on the presence of a common field | Version 7 AT&T UNIX |
| kill | Process management | Mandatory | Terminate or signal processes | Version 4 AT&T UNIX |
| lex | C programming | Optional (CD) | Generate programs for lexical tasks | Version 7 AT&T UNIX |
| link | Filesystem | Optional (XSI) | Create a hard link to a file | Version 1 AT&T UNIX |
| ln | Filesystem | Mandatory | Link files | Version 1 AT&T UNIX |
| locale | Misc | Mandatory | Get locale-specific information | |
| localedef | Misc | Mandatory | Define locale environment | |
| logger | Shell programming | Mandatory | Log messages | 4.3BSD |
| logname | Misc | Mandatory | Report the user's login name | 4.4BSD |
| lp | Text processing | Mandatory | Send files to a printer | System V |
| ls | Filesystem | Mandatory | List directory contents | Version 1 AT&T UNIX |
| m4 | Misc | Mandatory | Macro processor | PWB UNIX |
| mailx | Misc | Mandatory | Process messages | Version 1 AT&T UNIX |
| make | Programming | Optional (SD) | Maintain, update, and regenerate groups of programs | PWB UNIX |
| man | Misc | Mandatory | Display system documentation | Version 2 AT&T UNIX |
| mesg | Misc | Mandatory | Permit or deny messages | Version 1 AT&T UNIX |
| mkdir | Filesystem | Mandatory | Make directories | Version 1 AT&T UNIX |
| mkfifo | Filesystem | Mandatory | Make FIFO special files | 4.4BSD[dubious – discuss] |
| more | Text processing | Optional (UP) | Display files on a page-by-page basis | 3BSD |
| msgfmt | Misc | Mandatory | Create messages objects from messages object files | |
| mv | Filesystem | Mandatory | Move or rename files | Version 1 AT&T UNIX |
| newgrp | Misc | Mandatory | Change to a new group | Version 6 AT&T UNIX |
| ngettext | Misc | Mandatory | Retrieve text string from messages object with plural form | |
| nice | Process management | Mandatory | Invoke a utility with an altered nice value | Version 4 AT&T UNIX |
| nl | Text processing | Optional (XSI) | Line numbering filter | System III |
| nm | C programming | Optional (SD, XSI) |
Write the name list of an object file | Version 1 AT&T UNIX |
| nohup | Process management | Mandatory | Invoke a utility immune to hangups | Version 4 AT&T UNIX |
| od | Misc | Mandatory | Dump files in various formats | Version 1 AT&T UNIX |
| paste | Text processing | Mandatory | Merge corresponding or subsequent lines of files | Version 32V AT&T UNIX |
| patch | Text processing | Mandatory | Apply changes to files | 4.3BSD |
| pathchk | Filesystem | Mandatory | Check pathnames | |
| pax | Misc | Mandatory | Portable archive interchange | 4.4BSD[citation needed] |
| pr | Text processing | Mandatory | Paginate or columnate files for printing | Version 1 AT&T UNIX |
| printf | Shell programming | Mandatory | Write formatted output | 4.3BSD-Reno |
| prs | SCCS | Optional (XSI) | Print an SCCS file | PWB UNIX |
| ps | Process management | Mandatory | Report process status | Version 4 AT&T UNIX |
| pwd | Filesystem | Mandatory | Print working directory | Version 5 AT&T UNIX |
| read | Shell programming | Mandatory | Read a line from standard input | |
| readlink | Filesystem | Mandatory | Print destination of a symbolic link | |
| realpath | Filesystem | Mandatory | Report the fully qualified path of a file | XPG4[1] |
| renice | Process management | Mandatory | Set nice values of running processes | 4BSD |
| rm | Filesystem | Mandatory | Remove file(s) | Version 1 AT&T UNIX |
| rmdel | SCCS | Optional (XSI) | Remove a delta from an SCCS file | PWB UNIX |
| rmdir | Filesystem | Mandatory | Remove empty directory(ies) | Version 1 AT&T UNIX |
| sact | SCCS | Optional (XSI) | Print current SCCS file-editing activity | System III |
| sccs | SCCS | Optional (XSI) | Front end for the SCCS subsystem | 4.3BSD |
| sed | Text processing | Mandatory | Stream editor | Version 7 AT&T UNIX |
| sh | Shell programming | Mandatory | Shell, the standard command language interpreter | Version 7 AT&T UNIX (in earlier versions, sh was either the Thompson shell or the PWB shell) |
| sleep | Shell programming | Mandatory | Suspend execution for an interval | Version 4 AT&T UNIX |
| sort | Text processing | Mandatory | Sort, merge, or sequence check text files | Version 1 AT&T UNIX |
| split | Misc | Mandatory | Split files into pieces | Version 3 AT&T UNIX |
| strings | C programming | Mandatory | Find printable strings in files | 2BSD |
| strip | C programming | Optional (SD) | Remove unnecessary information from executable files | Version 1 AT&T UNIX |
| stty | Misc | Mandatory | Set the options for a terminal | Version 2 AT&T UNIX |
| tabs | Misc | Mandatory | Set terminal tabs | PWB UNIX |
| tail | Text processing | Mandatory | Copy the last part of a file | PWB UNIX[citation needed] |
| talk | Misc | Optional (UP) | Talk to another user | 4.2BSD |
| tee | Shell programming | Mandatory | Duplicate the standard output | Version 5 AT&T UNIX |
| test | Shell programming | Mandatory | Evaluate expression | Version 7 AT&T UNIX |
| time | Process management | Mandatory | Display elapsed, system and kernel time used by the current shell or designated process. | Version 3 AT&T UNIX[2] |
| timeout | Process management | Mandatory | Run command with a time limit | Version 3 AT&T UNIX |
| touch | Filesystem | Mandatory | Change file access and modification times | Version 7 AT&T UNIX |
| tput | Misc | Mandatory | Change terminal characteristics | System V |
| tr | Text processing | Mandatory | Translate characters | Version 4 AT&T UNIX |
| true | Shell programming | Mandatory | Exit immediately with status 0 | Version 7 AT&T UNIX |
| tsort | Text processing | Mandatory | Topological sort | Version 7 AT&T UNIX |
| tty | Misc | Mandatory | Report user's terminal name | Version 1 AT&T UNIX |
| type | Misc | Optional (XSI) | Displays how a name would be interpreted if used as a command | |
| ulimit | Misc | Optional (XSI) | Set or report file size limit | |
| umask | Misc | Mandatory | Get or set file mode creation mask | System III |
| unalias | Misc | Mandatory | Remove alias definitions | |
| uname | Misc | Mandatory | Report system name | PWB UNIX |
| uncompress | Misc | Optional (XSI) | Expand compressed data | 4.3BSD |
| unexpand | Text processing | Mandatory | Convert spaces to tabs | 3BSD |
| unget | SCCS | Optional (XSI) | Undo a previous get of an SCCS file | System III |
| uniq | Text processing | Mandatory | Report or filter out repeated lines in a file | Version 3 AT&T UNIX |
| unlink | Filesystem | Optional (XSI) | Call the unlink function | Version 1 AT&T UNIX |
| uucp | Network | Optional (UU) | System-to-system copy | Version 7 AT&T UNIX |
| uudecode | Network | Mandatory | Decode a binary file | 4BSD |
| uuencode | Network | Mandatory | Encode a binary file | 4BSD |
| uustat | Network | Optional (UU) | uucp status inquiry and job control | System III |
| uux | Process management | Optional (UU) | Remote command execution | Version 7 AT&T UNIX |
| val | SCCS | Optional (XSI) | Validate SCCS files | System III |
| vi | Text processing | Optional (UP) | Screen-oriented (visual) display editor | 1BSD |
| wait | Process management | Mandatory | Await process completion | Version 4 AT&T UNIX |
| wc | Text processing | Mandatory | Line, word and byte or character count | Version 1 AT&T UNIX |
| what | SCCS | Optional (XSI) | Identify SCCS files | PWB UNIX |
| who | System administration | Optional (XSI) | Display who is on the system | Version 1 AT&T UNIX |
| write | Misc | Mandatory | Write to another user's terminal | Version 1 AT&T UNIX |
| xargs | Shell programming | Mandatory | Construct argument lists and invoke utility | PWB UNIX |
| xgettext | C programming | Optional (CD) | Extract gettext calls from C source code strings | IEEE Std 1003.1-2024 |
| yacc | C programming | Optional (CD) | Yet another compiler compiler | PWB UNIX |
| zcat | Text processing | Optional (XSI) | Expand and concatenate compressed data | 4.3BSD |
See also
[edit]- GNOME Core Applications
- GNU Core Utilities
- List of GNU packages
- List of KDE applications
- List of Unix daemons
- Unix philosophy
- util-linux
References
[edit]- ^ IEEE Computer Society (December 1, 2008). "POSIX.1-2008 System Interfaces: realpath()". The Open Group. Base Specifications (Issue 7). doi:10.1109/IEEESTD.2008.4694976. ISBN 978-0-7381-4048-3. Archived from the original on September 18, 2024. Retrieved October 27, 2025. First released in CAE Specification: System Interface Definitions (XBD), Issue 4, Version 2 (August 1994).
- ^ "FreeBSD Manual Pages: time". man.freebsd.org. July 7, 2020. Retrieved Mar 23, 2025.
External links
[edit]The Wikibook Guide to UNIX has a page on the topic of: Commands
Wikimedia Commons has media related to Unix reference cards.
- IEEE Std 1003.1,2004 specifications
- IEEE Std 1003.1,2008 specifications
- IEEE Std 1003.1,2024 specifications
- Rosetta Stone For *Nix – configurable list of equivalent programs for *nix systems.
- The Unix Acronym List: Unix Commands – explains the names of many Unix commands.