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 | (XSI) | Create and administer SCCS files | PWB UNIX |
| alias | Misc | Manage command aliases | ||
| ar | Misc | Manage library archives | Version 1 AT&T UNIX | |
| asa | Text processing | (FR) | Interpret carriage-control characters | System V |
| at | Process management | Execute commands at a later time | Version 7 AT&T UNIX | |
| awk | Text processing | Pattern scanning and processing language | Version 7 AT&T UNIX | |
| basename | Filesystem | Report non-directory portion of a pathname | Version 7 AT&T UNIX | |
| batch | Process management | Schedule commands to be executed in a batch queue | ||
| bc | Misc | Arbitrary-precision arithmetic calculator | Version 6 AT&T UNIX | |
| bg | Process management | (UP) | Move jobs to the background | |
| cc | C programming | (CD) | Compile C source code | IEEE Std 1003.1-2024 |
| cal | Misc | (XSI) | Print a calendar | Version 5 AT&T UNIX |
| cat | Filesystem | Concatenate and print files | PDP-7 UNIX | |
| cd | Filesystem | Change the working directory | Version 6 AT&T UNIX | |
| cflow | C programming | (XSI) | Generate a C-language call graph | System V |
| chgrp | Filesystem | Change file group ownership | PWB UNIX | |
| chmod | Filesystem | Change file modes/attributes/permissions | PDP-7 UNIX | |
| chown | Filesystem | Change file ownership | PDP-7 UNIX | |
| cksum | Filesystem | Report file checksum and size | 4.4BSD | |
| cmp | Filesystem | Compare two files | Version 1 AT&T UNIX | |
| comm | Text processing | Select or reject lines common to two files | Version 4 AT&T UNIX | |
| command | Shell programming | Execute a simple command | ||
| compress | Filesystem | (XSI) | Compress data | 4.3BSD |
| cp | Filesystem | Copy files | PDP-7 UNIX | |
| cron | Misc | Schedule periodic background work | System V | |
| csplit | Text processing | Split files based on context | PWB UNIX | |
| ctags | C programming | (SD) | Create a tags file | 3BSD |
| cut | Text processing | Cut out selected fields of each line of a file | System III | |
| cxref | C programming | (XSI) | Generate a C-language program cross-reference table | System V |
| date | Misc | Report or change system date and time | Version 1 AT&T UNIX | |
| dd | Filesystem | Convert and copy files | Version 5 AT&T UNIX | |
| delta | SCCS | (XSI) | Make a delta (change) to an SCCS file | PWB UNIX |
| df | Filesystem | Report free storage space | Version 1 AT&T UNIX | |
| diff | Text processing | Compare two files | Version 5 AT&T UNIX | |
| dirname | Filesystem | Report the directory portion of a pathname | System III | |
| du | Filesystem | Estimate file space usage | Version 1 AT&T UNIX | |
| echo | Shell programming | Write to standard output | Version 2 AT&T UNIX | |
| ed | Text processing | The standard text editor | PDP-7 UNIX | |
| env | Misc | Set the environment for command invocation | System III | |
| ex | Text processing | (UP) | Text editor | 1BSD |
| expand | Text processing | Convert tabs to spaces | 3BSD | |
| expr | Shell programming | Evaluate arguments as an expression | Version 7 AT&T UNIX | |
| false | Shell programming | Exit immediately with status 1 | Version 7 AT&T UNIX | |
| fc | Misc | (UP) | Process the command history list | |
| fg | Process management | (UP) | Move a job to the foreground | |
| file | Filesystem | Report type of files | Version 4 AT&T UNIX | |
| find | Filesystem | Find files | Version 1 AT&T UNIX | |
| fold | Text processing | Filter for folding lines | 1BSD | |
| fuser | Process management | (XSI) | List process IDs of all processes that have one or more files open | System V |
| gencat | Misc | Generate a formatted message catalog | ||
| get | SCCS | (XSI) | Get a version of an SCCS file | PWB UNIX |
| getconf | Misc | Get configuration values | ||
| getopts | Shell programming | Parse utility options | ||
| gettext | Misc | Retrieve text string from messages object | ||
| grep | Misc | Search text for a pattern | Version 4 AT&T UNIX | |
| hash | Misc | Hash database access method | ||
| head | Text processing | Copy the first part of files | PWB UNIX[citation needed] | |
| iconv | Text processing | Codeset conversion | HP-UX | |
| id | Misc | Report user identity | System V | |
| ipcrm | Misc | (XSI) | Remove a message queue, semaphore set, or shared memory segment identifier | System V |
| ipcs | Misc | (XSI) | Report interprocess communication facilities status | System V |
| jobs | Process management | (UP) | Report background jobs | |
| join | Text processing | Merges two sorted text files based on the presence of a common field | Version 7 AT&T UNIX | |
| kill | Process management | Terminate or signal processes | Version 4 AT&T UNIX | |
| lex | C programming | (CD) | Generate programs for lexical tasks | Version 7 AT&T UNIX |
| link | Filesystem | (XSI) | Create a hard link to a file | Version 1 AT&T UNIX |
| ln | Filesystem | Link files | Version 1 AT&T UNIX | |
| locale | Misc | Get locale-specific information | ||
| localedef | Misc | Define locale environment | ||
| logger | Shell programming | Log messages | 4.3BSD | |
| logname | Misc | Report the user's login name | 4.4BSD | |
| lp | Text processing | Send files to a printer | System V | |
| ls | Filesystem | List directory contents | Version 1 AT&T UNIX | |
| m4 | Misc | Macro processor | PWB UNIX | |
| mailx | Misc | Process messages | Version 1 AT&T UNIX | |
| make | Programming | (SD) | Maintain, update, and regenerate groups of programs | PWB UNIX |
| man | Misc | Display system documentation | Version 2 AT&T UNIX | |
| mesg | Misc | Permit or deny messages | Version 1 AT&T UNIX | |
| mkdir | Filesystem | Make directories | Version 1 AT&T UNIX | |
| mkfifo | Filesystem | Make FIFO special files | 4.4BSD[dubious – discuss] | |
| more | Text processing | (UP) | Display files on a page-by-page basis | 3BSD |
| msgfmt | Misc | Create messages objects from messages object files | ||
| mv | Filesystem | Move or rename files | Version 1 AT&T UNIX | |
| newgrp | Misc | Change to a new group | Version 6 AT&T UNIX | |
| ngettext | Misc | Retrieve text string from messages object with plural form | ||
| nice | Process management | Invoke a utility with an altered nice value | Version 4 AT&T UNIX | |
| nl | Text processing | (XSI) | Line numbering filter | System III |
| nm | C programming | (SD, XSI) | Write the name list of an object file | Version 1 AT&T UNIX |
| nohup | Process management | Invoke a utility immune to hangups | Version 4 AT&T UNIX | |
| od | Misc | Dump files in various formats | Version 1 AT&T UNIX | |
| paste | Text processing | Merge corresponding or subsequent lines of files | Version 32V AT&T UNIX | |
| patch | Text processing | Apply changes to files | 4.3BSD | |
| pathchk | Filesystem | Check pathnames | ||
| pax | Misc | Portable archive interchange | 4.4BSD[citation needed] | |
| pr | Text processing | Paginate or columnate files for printing | Version 1 AT&T UNIX | |
| printf | Shell programming | Write formatted output | 4.3BSD-Reno | |
| prs | SCCS | (XSI) | Print an SCCS file | PWB UNIX |
| ps | Process management | Report process status | Version 4 AT&T UNIX | |
| pwd | Filesystem | Print working directory | Version 5 AT&T UNIX | |
| read | Shell programming | Read a line from standard input | ||
| readlink | Filesystem | Print destination of a symbolic link | ||
| realpath | Filesystem | Report the fully qualified path of a file | XPG4[1] | |
| renice | Process management | Set nice values of running processes | 4BSD | |
| rm | Filesystem | Remove file(s) | Version 1 AT&T UNIX | |
| rmdel | SCCS | (XSI) | Remove a delta from an SCCS file | PWB UNIX |
| rmdir | Filesystem | Remove empty directory(ies) | Version 1 AT&T UNIX | |
| sact | SCCS | (XSI) | Print current SCCS file-editing activity | System III |
| sccs | SCCS | (XSI) | Front end for the SCCS subsystem | 4.3BSD |
| sed | Text processing | Stream editor | Version 7 AT&T UNIX | |
| sh | Shell programming | 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 | Suspend execution for an interval | Version 4 AT&T UNIX | |
| sort | Text processing | Sort, merge, or sequence check text files | Version 1 AT&T UNIX | |
| split | Misc | Split files into pieces | Version 3 AT&T UNIX | |
| strings | C programming | Find printable strings in files | 2BSD | |
| strip | C programming | (SD) | Remove unnecessary information from executable files | Version 1 AT&T UNIX |
| stty | Misc | Set the options for a terminal | Version 2 AT&T UNIX | |
| tabs | Misc | Set terminal tabs | PWB UNIX | |
| tail | Text processing | Copy the last part of a file | PWB UNIX[citation needed] | |
| talk | Misc | (UP) | Talk to another user | 4.2BSD |
| tee | Shell programming | Duplicate the standard output | Version 5 AT&T UNIX | |
| test | Shell programming | Evaluate expression | Version 7 AT&T UNIX | |
| time | Process management | Display elapsed, system and kernel time used by the current shell or designated process. | Version 3 AT&T UNIX[2] | |
| timeout | Process management | Run command with a time limit | Version 3 AT&T UNIX | |
| touch | Filesystem | Change file access and modification times | Version 7 AT&T UNIX | |
| tput | Misc | Change terminal characteristics | System V | |
| tr | Text processing | Translate characters | Version 4 AT&T UNIX | |
| true | Shell programming | Exit immediately with status 0 | Version 7 AT&T UNIX | |
| tsort | Text processing | Topological sort | Version 7 AT&T UNIX | |
| tty | Misc | Report user's terminal name | Version 1 AT&T UNIX | |
| type | Misc | (XSI) | Displays how a name would be interpreted if used as a command | |
| ulimit | Misc | (XSI) | Set or report file size limit | |
| umask | Misc | Get or set file mode creation mask | System III | |
| unalias | Misc | Remove alias definitions | ||
| uname | Misc | Report system name | PWB UNIX | |
| uncompress | Misc | (XSI) | Expand compressed data | 4.3BSD |
| unexpand | Text processing | Convert spaces to tabs | 3BSD | |
| unget | SCCS | (XSI) | Undo a previous get of an SCCS file | System III |
| uniq | Text processing | Report or filter out repeated lines in a file | Version 3 AT&T UNIX | |
| unlink | Filesystem | (XSI) | Call the unlink function | Version 1 AT&T UNIX |
| uucp | Network | (UU) | System-to-system copy | Version 7 AT&T UNIX |
| uudecode | Network | Decode a binary file | 4BSD | |
| uuencode | Network | Encode a binary file | 4BSD | |
| uustat | Network | (UU) | uucp status inquiry and job control | System III |
| uux | Process management | (UU) | Remote command execution | Version 7 AT&T UNIX |
| val | SCCS | (XSI) | Validate SCCS files | System III |
| vi | Text processing | (UP) | Screen-oriented (visual) display editor | 1BSD |
| wait | Process management | Await process completion | Version 4 AT&T UNIX | |
| wc | Text processing | Line, word and byte or character count | Version 1 AT&T UNIX | |
| what | SCCS | (XSI) | Identify SCCS files | PWB UNIX |
| who | System administration | (XSI) | Display who is on the system | Version 1 AT&T UNIX |
| write | Misc | Write to another user's terminal | Version 1 AT&T UNIX | |
| xargs | Shell programming | Construct argument lists and invoke utility | PWB UNIX | |
| xgettext | C programming | (CD) | Extract gettext calls from C source code strings | IEEE Std 1003.1-2024 |
| yacc | C programming | (CD) | Yet another compiler compiler | PWB UNIX |
| zcat | Text processing | (XSI) | Expand and concatenate compressed data | 4.3BSD |
See also
- GNOME Core Applications
- GNU Core Utilities
- List of GNU packages
- List of KDE applications
- List of Unix daemons
- Unix philosophy
- util-linux
References
- ^ IEEE Computer Society (2008-12-01). "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 2024-09-18. Retrieved 2025-10-27.
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
- 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.