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